Install and uninstall issues are some of the most common sources of calls to help desks. The following is a tip on an implementation strategy for software updates using InstallShield setup creation technology. Each product release is uniquely identified with a Product Code that is represented with an InstallationGUID, a globally unique 128-bit integer value. During an installation the following key is created in the Windows Registry to be used by the Add/Remove Programs applet:
The two out of four name-value pairs for this key look like the following:
DisplayName - <user defined product name>
LogFile - <C:\Program Files\InstallShield Installation
Also, the following directory with a copy of the setup disk image is created:
C:\Program Files\Install Shield Installation
If you run an update setup of an already installed product, and the setup uses the same Product Code, the uninstallation process will be started automatically. The Product Code usually is not changed for small updates and minor upgrades. The same happens if you run the setup of an already partially installed product, or you double click on the user defined product name in the Add/Remove Programs applet of the Control Panel application. In all three cases, the setup program located in the above-specified directory is launched. The user is presented with the Do-You-Want-to-Uninstall or Welcome-Maintenance dialog. The latter will be called if it was selected to display during the setup project creation. After you uninstall the old version, run the new setup again.
If you plan to create a setup for the major upgrades (comprehensive updates), you have two choices. The first is to create a new setup project from scratch. In this case, a new GUID will be created for you. The second is to generate a new GUID and substitute the current value of InstallationGUID in the setup project .IPR file. To generate a GUID, you may use the Guidgen.exe utility. In this case, the setup located on your new media will be launched. You will be able to install the new version of the product along with the already existing one if you specified a different target location. Of course, the application path information will be overwritten in the Windows Registry. If you specified the same target location for both versions, you may end up with both versions corrupted. If you want to have only one version of the product, you need to proactively decide how to uninstall the already existent version first: automatically or using the user