All,
I have a C++/CLI assembly that is compiled for x64 and x86. These files
get installed in C:\Program Files and Program Files (x86) respectively
on 64 bit machines via a Visual Studio .NET 2008 setup project. I also
need these two assemblies to be installed into the GAC so that other
managed apps compiled as "Any CPU" will correctly load the right .dll. I
can manually install these two assemblies into the GAC using "gacutil
/i" but I'm having trouble figuring out how to set this up in a setup
project in VS.NET 2008.
The setup project property "TargetPlatform" is configured for "x64".
The setup project File System looks like this:
Global Assembly Cache Folder\Managed.dll /* (x64) */
Global Assembly Cache Folder\Managed.dll /* (x86) */
Program Files (64-bit) Folder\{AppName}\Managed.dll /* (x64) */
Program Files Folder\{AppName}\Managed.dll /* (x86) */
Upon building the project, I get 2 warnings:
WARNING: Two or more objects have the same target location
('[gac]Managed\2.0.0.0_487e2f56c7456732\Managed.dll')
WARNING: Two or more objects have the same target location
('[gac]Managed\2.0.0.0_487e2f56c7456732\Managed.dll')
I'm suspecting that VS.NET 2008 won't support what I'm trying to
accomplish but I wanted to do a sanity check with you guys first. If it
is ineeded the case, does anyone have alternative approaches or
installers that I can look into.
Thanks so much!
Jason Newell
www.jasonnewell.net
I find it very suspicious that this works. What do you guys think?
Jason Newell
www.jasonnewell.net
Enough of my rambling - if it works then it's ok, but in general it's
recommended to have separate install packages for different architectures.
--
Phil Wilson
The Definitive Guide to Windows Installer
http://www.apress.com/book/view/1590592972
"Jason Newell" <nos...@nospam.com> wrote in message
news:eKq0GULa...@TK2MSFTNGP05.phx.gbl...
Thanks for the feedback. I agree with your points about "in
general...". I'd like to try and explain my approach and why I need to
have the x64 & x86 version of the managed assembly installed.
I'll end up with 3 setup packages for my product.
[Setup32 - TargetPlatform: x86]
- Installs executables into ProgramFilesFolder\App
- Installs x86 version of managed assembly into GAC
[Setup64 - TargetPlatform: x64]
- Installs executables into ProgramFiles64Folder\App
- Installs x86 version of managed assembly into GAC
- Installs x64 version of managed assembly into GAC
[SetupSDK - TargetPlatform: x86]
- Installs copy of x86 version of managed assembly and related XML into
ProgramFilesFolder\App for VS.NET "Add Reference" and intellisense
- Adds a key under
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders for
VS.NET "Add Reference". *Note: SOFTWARE\Wow6432Node\ if installed on
x64 machine.
Make sense? Thanks.
Jason Newell
www.jasonnewell.net
"Jason Newell" <nos...@nospam.com> wrote in message
news:OCFVfoja...@TK2MSFTNGP02.phx.gbl...