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

Preventing the Removal of Assemblies from the Global Assembly Cache During Upgrades

Preventing the Removal of Assemblies from the Global Assembly Cache During Upgrades

Summary

This Article explains how to prevent the removal of assemblies from the GAC during a major upgrade

Synopsis

This Article explains how to prevent the removal of assemblies from the GAC during a major upgrade


Discussion

By default, upgrades that are created in the Upgrade Paths view are configured to remove the earlier version of the product before installing the new version. That is, the RemoveExistingProducts action is scheduled before the InstallFinalize action. This default sequencing behavior may cause a problem if the product includes an assembly that is installed to the global assembly cache (GAC): after the upgrade is applied, the assembly may be missing from the GAC. The issue occurs because Windows Installer cannot properly reference count the assembly; therefore, it is removed but not reinstalled during the upgrade.

Workaround

The following are possible workarounds for this issue:
1. Manually uninstall the previous product(s) from Add/Remove Programs before installing the new version.

2. Resequence RemoveExistingProducts as recommended in the Microsoft KB. This can be done in the Media - Upgrades view in the IDE by selecting "Upgrade Windows Installer Setup" in the center pane. Then on the right-hand pane select "Install setup then remove unneeded files" instead of the default "Completely uninstall old setup before installing new setup." This option requires closer attention to maintaining consistency in the component structure between previous releases and the current new release.

3. Use a custom action sequenced before CostFinalize to manually perform the major upgrade. Set the major upgrade item to detect only.

Additional Information

An assembly in the global assembly cache or SxS is missing after you perform a major upgrade by using a Windows Installer package
Microsoft Knowledge Base article 905238

Was this article helpful? Yes No
No ratings
Version history
Last update:
‎Jan 27, 2010 11:21 AM
Updated by: