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 Knowledge Base
- :
- Preventing the Removal of Assemblies from the Global Assembly Cache During Upgrades
Subscribe
- Mark as New
- Mark as Read
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
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 upgradeSynopsis
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
No ratings