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

Major upgrade in parent/child schema is not working

I have a Basic MSI consisting of 1 parent and 6 children (Authored with IS 2010 SP1 w/hotfix 52410, Premier Edition). This design is also known as chaining. Version 3.0.0 was written/developed by a former employee; however, when run, it succussfully removed each legacy package (previously, the 6 children were all authored as InstallShield (using InstallScript) installers), then successfully installed the 3.0.0 version of the component. I now 'own' the project and have been tasked with creating a 3.0.1 version of the software. Prior to the 3.0.0 version, whenever a component (each had its own installer) was to be installed, if it found an older version, it would first uninstall and then install the 'new' component. This behavior (major upgrade) is the company's preferred way of installing the product. As a result, I'd prefer to continue it. Our new way to deploy is to build an xml 'configuration' file and use it to deploy (so there are NO dialogs during the process, other than the parent's 'What configuration file do you want me to use' dialog that is presented before anything is run) the product.

It is my understanding that in order to create a uninstall/reinstall, that a major upgrade must be done. To do a major upgrade, I do the following to each package (including the parent) -

Change the Product GUID
(Do NOT change the Upgrade GUID from the original 3.0.1 version)
Increment the Product Version (to 3.0.1)
Add a Major Upgrade Item to the Media->Upgrades Configured as
Common tab - Products sharing my upgrade code
Common tab - within a specified range of versions (min is blank, max is 3.0.1)
Adv tab - Upgrade code is all zeros {00000...00}
Min. Version (blank)
Include Min. Version (No)
Maximum Version (3.0.1)
Include Max. Version (No)
Language (blank)
Detect Only (No)
Detect Prop. (OLDPRODUCTFOUND) (which is automatically added to the SecureCustomProperties property
Only Remove Specifed Features (blank)
Continue on Failure (No)
Migrate Feature States (Yes)

The result of me attempting my upgrade is that I don't get an uninstall/reinstall. Here are a few key snippets from my MSI log file -

MSI (c) (9C:28) [11:54:00:842]: Doing action: FindRelatedProducts
Action 11:54:00: FindRelatedProducts. Searching for related applications
Action start 11:54:00: FindRelatedProducts.
Action ended 11:54:00: FindRelatedProducts. Return value 1.

MSI (c) (9C:28) [11:54:11:530]: Doing action: MigrateFeatureStates
Action 11:54:11: MigrateFeatureStates. Migrating feature states from related applications
Action start 11:54:11: MigrateFeatureStates.
Action ended 11:54:11: MigrateFeatureStates. Return value 0.

MSI (s) (FC:A8) [11:55:29:795]: Doing action: FindRelatedProducts
Action 11:55:29: FindRelatedProducts. Searching for related applications
Action start 11:55:29: FindRelatedProducts.
MSI (s) (FC:A8) [11:55:29:811]: Skipping FindRelatedProducts action: already done on client side
Action ended 11:55:29: FindRelatedProducts. Return value 0.

MSI (s) (FC:A8) [11:55:29:905]: Doing action: MigrateFeatureStates
Action 11:55:29: MigrateFeatureStates. Migrating feature states from related applications
Action start 11:55:29: MigrateFeatureStates.
MSI (s) (FC:A8) [11:55:29:905]: Skipping MigrateFeatureStates action: already done on client side
Action ended 11:55:29: MigrateFeatureStates. Return value 0.

MSI (s) (FC:A8) [11:55:33:045]: Doing action: RemoveExistingProducts
Action 11:55:33: RemoveExistingProducts. Removing applications
Action start 11:55:33: RemoveExistingProducts.
MSI (s) (FC:A8) [11:55:33:045]: Skipping RemoveExistingProducts action: current configuration is maintenance mode or an uninstall
Action ended 11:55:33: RemoveExistingProducts. Return value 0.

Any help/direction would be greatly appreciated.
Labels (1)
0 Kudos
(1) Reply
ThomasD
Level 2

After obtaining a service agreement, support directed me to update all installers with the proper Upgrade table entries for the IsPreventDownload entry. After that, I was able to successfully deploy a major upgrade.
0 Kudos