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
- :
- Installing to the GAC problem
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 11, 2018
02:35 PM
Installing to the GAC problem
We have an installer that installed two components (two DLL's) to the GAC. It worked fine. We were requiring that .Net 3.5 be installed on the system.
We upgraded our dll, DLL 'A', to use .NET 4.6.2 (and now require .Net 4.6.2 or greater to be installed on the system). DLL 'B' is Log4net.dll, from Apache (version 1.2). DLL A, has DLL B, as a dependency. When running the install now (on windows 7\10), DLL B will always be installed to the GAC, DLL A is never installed. If I change DLL B, to the latest version of Log4net.dll, which uses .net 4.5, (when installing on a system that has .net 4.6 or 4.7), neither dll gets installed to the GAC.
If you use the latest version of gacutil, on the command line, it will install DLL A to the GAC.
I am not a product developer so I am theorizing here. My theory is that because DLL A has a dependency on DLL B (the older version that does get installed to the GAC), that both dll's need to be set to use .NET 4.6.2, and because DLL A cannot find the dependency with the same .NT version, DLL A does not get installed to the GAC.
Or, is there something else going on here?
Note, Log4net.dll does not have a version that uses a .NET version higher than 4.5, so, even if I am correct about both dll's needing to use the same .net version, we are still screwed?
We upgraded our dll, DLL 'A', to use .NET 4.6.2 (and now require .Net 4.6.2 or greater to be installed on the system). DLL 'B' is Log4net.dll, from Apache (version 1.2). DLL A, has DLL B, as a dependency. When running the install now (on windows 7\10), DLL B will always be installed to the GAC, DLL A is never installed. If I change DLL B, to the latest version of Log4net.dll, which uses .net 4.5, (when installing on a system that has .net 4.6 or 4.7), neither dll gets installed to the GAC.
If you use the latest version of gacutil, on the command line, it will install DLL A to the GAC.
I am not a product developer so I am theorizing here. My theory is that because DLL A has a dependency on DLL B (the older version that does get installed to the GAC), that both dll's need to be set to use .NET 4.6.2, and because DLL A cannot find the dependency with the same .NT version, DLL A does not get installed to the GAC.
Or, is there something else going on here?
Note, Log4net.dll does not have a version that uses a .NET version higher than 4.5, so, even if I am correct about both dll's needing to use the same .net version, we are still screwed?
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Apr 12, 2018
02:22 PM
https://stackoverflow.com/questions/2660355/net-4-0-has-a-new-gac-why
https://stackoverflow.com/questions/1268342/what-is-the-gac-in-net
The new 4.6.,2 dll was being install..to the 4.0 GAC, in C:\Windows\Microsoft.NET\assembly