This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- .net assemblies (same name different versions) to GAC
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Apr 15, 2009
08:49 AM
.net assemblies (same name different versions) to GAC
Hi,
I am writing my first InstallScript MSI project (all others were InstallScript). I have some 3rd party .NET dll's that need to go in the GAC because the project installs applications that use different versions of the same dll's. I have 3 dll's, 2 versions of each (ex dll1 ver 1.2, dll2 ver 1.2, dll3 ver 1.2, dll1 ver 3.5, dll2 ver 3.5, dll3 ver3.5). I put each one in it's own component and made it the key file. The properties I modifed are as follows: .NET Scan at Build: Properties Only, .NET Precompile Assembly: No, Destination: [Global Assembly Cache]. I kept the default on the other properties but can tell you how those are set if needed.
This project will install and run successfully on one machine (Windows XP SP2). On 3 other machines (all Windows XP SP2 also) the following is installed in the GAC:
dll1 ver 1.2
dll2 ver 1.2
dll3 ver 3.5
So, the installed applications do not run on those machines.
I'll admit I do not really understand how InstallShield installs to the GAC, nor do I really understand the CA's. The only reason I switched to use InstallShield MSI is to have access to the SQL Express Prerequisite.
Am I missing something obvious? I've looked at other threads about the GAC and NGEN but haven't found one that addresses my problem of the same dll but different version.
Thank you.
I am writing my first InstallScript MSI project (all others were InstallScript). I have some 3rd party .NET dll's that need to go in the GAC because the project installs applications that use different versions of the same dll's. I have 3 dll's, 2 versions of each (ex dll1 ver 1.2, dll2 ver 1.2, dll3 ver 1.2, dll1 ver 3.5, dll2 ver 3.5, dll3 ver3.5). I put each one in it's own component and made it the key file. The properties I modifed are as follows: .NET Scan at Build: Properties Only, .NET Precompile Assembly: No, Destination: [Global Assembly Cache]. I kept the default on the other properties but can tell you how those are set if needed.
This project will install and run successfully on one machine (Windows XP SP2). On 3 other machines (all Windows XP SP2 also) the following is installed in the GAC:
dll1 ver 1.2
dll2 ver 1.2
dll3 ver 3.5
So, the installed applications do not run on those machines.
I'll admit I do not really understand how InstallShield installs to the GAC, nor do I really understand the CA's. The only reason I switched to use InstallShield MSI is to have access to the SQL Express Prerequisite.
Am I missing something obvious? I've looked at other threads about the GAC and NGEN but haven't found one that addresses my problem of the same dll but different version.
Thank you.
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Apr 15, 2009
02:16 PM
I fixed the problem. In the help I read the MsiAssemblyTable topic and added my 6 dll's to that table and left my properties the same as in my first post. I did change the source location property for one version of the dll's so InstallShield would put them in a different folder in the release. I'm not sure if that is what helped or if it was the MsiAssemblyTable entries (I can change the source location back to what I had before and try it to see I guess).
Thanks anyway.
Thanks anyway.
![](/skins/images/8C9D13A71C7F7695F3262372C0172D68/responsive_peak/images/icon_anonymous_message.png)