Showing results for 
Show  only  | Search instead for 
Did you mean: 
Level 6

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?
Labels (1)
0 Kudos
(1) Reply
Level 6

The new 4.6.,2 dll was being the 4.0 GAC, in C:\Windows\Microsoft.NET\assembly

0 Kudos