Jump to content

This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.

Preserve component install status major upgrade?

1 reply to this topic


  • Full Members
  • 11 posts

Posted 03 July 2007 - 21:44

I recently had to change the product code for my installation because I removed components from an existing feature.

My patch works fine. The problem that I have is that some of my components were conditionally installed. These same components need to remain either installed or uninstalled after the upgrade.

How do I do this?

The install UI prompted the user for one of three installation types. The result was stored in a property called INSTALLTYPE during the initial installation. This INSTALLTYPE property also conditionally installed the components. I understand that this information is not presisted after the installation finishes.

I have found that you can tell what components are installed by looking at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components so long as ALLUSERS=1. Instead, you have to check SID that correspondes to the current user if ALLUSERS=0.

So the only thing I can figure is to do an AppSearch for these registry entries and try to reconstruct the value that INSTALLTYPE had based on what components ended up in what places. Obstacles include potentially having to look in two different locations based on ALLUSERS and determining the SID of the current user during the install.

Any other ideas?

Stefan Krueger

Stefan Krueger


  • Administrators
  • 13,269 posts

Posted 05 July 2007 - 20:19

Did you try the Migrate Feature States setting? You may need to change the sequenceing of the RemoveExistingProducts action (see help for details). In general, Major Upgrades should be shipped as full .msi files, not as patches.