InstallShield Minor Upgrade Wows

So, I have this InstallScript MSI project, with some components, all of them using dynamic files.

The idea is that, for ‘full’ version, it will include all files of the software, and for minor upgrades/patches, it would only include the modified files.

(No, we can’t use static files, and we can’t use the MSI patch mechanism – this is a story for some other time.)

In order for this ‘partial’ upgrade to work, I’m building a Minor Upgrade (i.e. same product code as the ‘full’ version, and higher version number). I also set REINSTALLMODE=vamus, since most of the files are not versioned.

The installation runs, and apparently several files were not replaced. This is what I see in the MSI log:

“Modifying REINSTALLMODE property. Its current value is ‘vamus’. Its new value: ‘vomus’.”

The nerve! How dare you!

Trying to force ‘vamus’, by running ‘setup.exe REINSTALLMODE=vamus’, I get the following error:

Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel.

I gave up and switched to Major upgrade.