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

Minor upgrade questions

Hi,

I haven't used minor upgrade for long time. But recently I happened got a chance to try a small project (Basic MSI IS2010) with minor upgrade. The result is interesting and I have some questions.

I didn't touch either Upgrade table or Upgrades panel.

If I configure the image to a compressed single setup.exe, both small (same version - just run another build which only changes Package code) and minor (change version and run another build) seem work - at least the dialog (mentioning a upgrading is running and if user wants to continue) showed and (upgrade) installation completes.

But if I configure the image to a compressed single .msi file, I always got error message "Another version of the ....", even though I have package code and version changed.

Is this normal? I kind got impression that minor upgrade should also work with .msi image (i.e. only need to change package code and version, a new build should run with upgrade). Then I found in IS2010 help (titled "Creating Minor Upgrades") below:

Running a Minor Upgrade Without Using Setup.exe

If you intend to distribute your installation without wrapping it in Setup.exe, there is a manual process that your end users must follow to start the installation. For this reason, you should consider using Setup.exe; however, you can achieve similar results without it.

The Installer properties REINSTALL and REINSTALLMODE must be set from the command line to start an installation in upgrade mode. In all but the most advanced scenarios, the property REINSTALLMODE should be set to vomus and the property REINSTALL should be set to ALL. A typical command line can look like the following:

msiexec.exe /i \product.msi REINSTALLMODE=vomus REINSTALL=ALL

If the update contains features that you do not want to update, you should set REINSTALL to a comma-separated list of the features that you want to update, as in the following command:

msiexec /i \product.msi REINSTALLMODE=vomus REINSTALL=F1,F3,F5

The feature names you use in the REINSTALL property are case-sensitive.


Two questions with the above description:
1) This description seems like a major upgrade to me, especially with "REINSTALL=ALL", is that right? If so, does that mean there is no clear difference between all the upgrade types (small/minor/major) with .msi image?
2) The description says that user needs to pass the commandline parameters for the upgrades to execute, what if a user just double click the .msi file? So there is no way to execute the upgrade by clicking on .msi file? You can't simply set all the properties in Property table since the very first setup will not work.

I also tried to create image with both setup.exe and .msi files in it, and the result still the same - running setup.exe can excute small/minor upgrade, but not by running .msi file.

I tended to avoid minor upgrade, but this time I have to deal with it and hope that my questions be answered and get myself clarified.


Thanks,
PB
Labels (1)
0 Kudos
(2) Replies
ThisIsEd
Level 4

I'm also interested in knowing if there are any tricks to making a .msi that will install a minor upgrade without requiring command line parameters or a setup.exe wrapper.

The command line parameters are just setting properties, so it would seem that if these properties were set at the correct time, it could work. But I haven't had any success yet. Just getting the "Another version of this product is installed..." message.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I believe the old school way to handle this was to set REINSTALL in the .msi file itself, and clear it with a custom action if the base package is Not Installed...
0 Kudos