After implementing an InstallShield Major Upgrade recently after making changes to a beta version of one of my software packages, I found that there were two entries in the Window’s Control Panel’s Add/ Remove Programs list. Despite the two entries, the installed package seemed to have installed and worked correctly on Windows XP, Vista and Windows 7. However, having two packages looked untidy and uninstalling either of them uninstalled the software package.
After a bit of research I found that the problem was because I was doing a major upgrade but I had not changed the package version, i.e. I had changed the product code and package code but had left the product version the same. (See this post for info on how to do an InstallShield Major Upgrade). However, in this particular case I needed to leave the version number the same. In order to get the installer to behave as I wished and leave only one instance of the package in the Add/ Remove list, I had to do the following in InstallShield:
1. In the Installation Designer, click the Upgrades node under the main Media node.
2. Open the upgrade entry I had created as advised in my earlier post on InstallShield Major Upgrades:
3. In the Common Properties for the upgrade entry, instead of choosing to upgrade Any Earlier Version, choose a specific range of versions and enter 1.0.0 in the minimum version field, leaving the maximum value field blank. Remember to check the Version Range Inclusive field to be on the safe side:
Now when the installer runs it will perform a major upgrade even on an installation that has the same version number as the new (major upgrade) installer.