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

Just a Quick question about Minor Upgrade mode

I would like to find out about something concerning Minor Upgrade mode command line properties when pushing out our msi.

Now it states that if you create a minor upgrade install for a previous version and push out with msi that you should use the following add the following to the command line:
REINSTALLMODE=vomus REINSTALL=ALL

This is works fine, but my question is if an administator is pushing out the install across a network that has mixed versions - some that qualify for the minor upgrade, but others that qualify for a major upgrade, and they use the minor upgrade command line would this still correctly perform a major upgrade over the ones that are major upgrades or will they be screwed up and therefore have to be uninstalled/cleaned from the system and the install ran again on those systems?

The main reason I ask is that we know that if you do not supply the minor upgrade command line when it is required then the install may not correctly update the system and leave it in a bad state. So if the admin needs to know which versions need the command line and which don't will be a pain to communicated to them and cause more problems then it may be worth.

So any feed back on this would be great.

Thanks,
Labels (1)
0 Kudos
(1) Reply
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

Since a major upgrade is essentially a first time install, no features are installed for the new product yet. The REINSTALL property only applies to features that are already on the machine. Per the REINSTALL doc in the MSI SDK:
"Note that even if REINSTALL is set to ALL, only those features that were already installed previously are reinstalled. Thus, if REINSTALL is set for a product that is yet to be installed, no installation action will take place at all."

Due to the way feature properties are evaluated, REINSTALL will override ADDLOCAL. As a result, the major upgrade product may not be installed if REINSTALL=ALL was passed on the command line.
0 Kudos