Installing .NET Assemblies into the GAC

Junfeng Zhang has a good description of GAC Assembly Trace References. I find it interesting that an assembly that has been placed in the GAC by Windows Installer cannot be removed unless the application that placed the assembly in the GAC is uninstalled. If one tries to remove an assembly from the GAC that was installed by Windows Installer with GACUTIL (gacutil -u assemblyname), GACUTIL reports:

Unable to uninstall: assembly is required by one or more applications
Pending references:

Number of items uninstalled = 0

Number of failures = 0

If one uses the Explorer Shell Extension for %windir%\Assembly, it
Assembly 'assemblyname' could not be uninstalled because it is required by other applications.

No comments: