DLL versioning / GAC

From: Patty O'Dors (PattyODors_at_discussions.microsoft.com)
Date: 08/31/04


Date: Tue, 31 Aug 2004 07:37:08 -0700

1) It seems that if you make an application with an installer project and
give one of the components a strong name and designate it to be installed to
the GAC, then the unique key is the combination of version number, and the
name in the snk file generated by sn.exe. This means that if I build and
install an application (A) that has version 1.0.0.0 and a certain key, and
then I build another application (B) that uses the same component, and I
improve the component but don't change the version number or strong key, then
when I install application (B), application (A) aswell as (B) will benefit
from the improved component.
Is this the designed behaviour, and if not, should it be/could it be of use?
Is there anything to protect application (A) from its interfaces being
broken, and what will happen if they are broken?

2) If in the above scenario, either application is uninstalled, will the DLL
file in the GAC be marked as shared and thus not uninstalled, in a similar
way to COM-style reference counting? Or is it expected that each application
will have its own version of the DLL?



Relevant Pages

  • Re: GAC, Fusion.dll and Access Denied
    ... Sample managed code to check if you are admin or not: ... There is a bug in v1.0/v1.1 fusion GAC API that it *remembers* the ... > of a component which is contained in a strong-named DLL hosted in the ... > 2) Install that DLL into the GAC ...
    (microsoft.public.dotnet.framework.clr)
  • Re: When were scanf_s functions introduced?
    ... My knowledge of doing complicated MSI setup apps is fairly limited, ... installers, one that is a "full install" (includes everything and will be ... then the amount of space for the CRT ... the CRT dll MSVCR80.dll? ...
    (microsoft.public.platformsdk.security)
  • .Net & COM interop deployment
    ... The second is the writing application which is a c# dll with a COM ... called from Excel the AppBase seems to get set to the Excel install ... to install them in the GAC for them to be found. ...
    (microsoft.public.dotnet.framework.interop)
  • Re: When were scanf_s functions introduced?
    ... one that is a "web install" (checks dependencies and only downloads those that are missing, ... then the amount of space for the CRT installer is probably not going to matter much and ... the CRT dll MSVCR80.dll? ... Say I have several different apps to deploy. ...
    (microsoft.public.platformsdk.security)
  • CLR was running a version of my dll that didnt exist!?!?
    ... OK, we have a .NET dll hosted in COM+ running as a queued, pooled ... component - I say this as an explanation of why my assemlies are in the GAC ... (the only way to run a COM+ server app). ... and the com+ app is gone) we then install foo.dll version 1.0.1 into the ...
    (microsoft.public.dotnet.framework.clr)