Reputation: 797
My installer is performing a minor upgrade when going from 1.7.211 to 1.7.212, but I want it to always perform a major upgrade. A new installer should always overwrite everything that the previous installer installed, without exception. Is there a way to modify the installshield project to accomplish this?
Upvotes: 1
Views: 1569
Reputation: 929
For MSI projects, go to the 'upgrades' area (under 'Media'). Under 'upgrade windows installer setup' create a new Major Upgrade item. For that item, select 'Within a specific range of version' and set the maximum version to be a version number which is greater than the current one (e.g. 1.8 in your case).
This way, when Windows Installer detects it should run in upgrade mode, it will see that the currently installed version (1.7.11) applies to the major upgrade rule, and will proceed with performing a major upgrade.
Upvotes: 1
Reputation: 196
I'm going to assume you're using a basic MSI or InstallScript MSI project type. For every release, you must take the necessary steps the enact a major upgrade (and, to be precise, this is an MSI rule, not an InstallShield rule).
In your InstallShield project, author a Major Upgrade in the Upgrades view. You need to say "any previous version" when setting that up.
Then, for every release, you need to increment the version number (one of the first three digits, MSI ignores the fourth) and the product code GUID.
I disagree with your statement of "A new installer should always overwrite everything that the previous installer installed, without exception." There are many deployment models when only updating files that have changed between releases is a top priority. If that model works for you currently, great. Just be open to the possibility of minor and patch upgrades and what those look like in terms of release planning.
Upvotes: 0