Configuring Minor Upgrades to Remove Installed Data

InstallShield 2015

Project: This information applies to the following project types:

Basic MSI
InstallScript MSI

InstallShield includes support for different methods for configuring a minor upgrade to remove installed data. Two methods are discussed in the following sections.

Method 1

To configure a minor upgrade to remove data that was installed during an earlier release, open your InstallShield project in which you are configuring the upgrade, and in the Files and Folders view, delete the file. Then you can create a record in the corresponding Remove tables within the Direct Editor. The Remove tables in the Direct Editor include the RemoveFile, RemoveIniFile, and RemoveRegistry tables.

To remove registry data from a component in a minor upgrade, you should create a record in the RemoveRegistry table. Records in the RemoveRegistry table describe the registry key and value to remove when the associated component is installed. Unlike the RemoveFile table, the RemoveRegistry table does not accept an option to remove the specified registry data when the associated component is uninstalled. Instead, you can author a registry value with the Uninstall entire key flag. If your component contains a registry value with a hyphen in the Name field and an empty Value field, the specified registry key and all its contents will be removed when the component is removed.

For other types of data, there is usually either an uninstallation flag available in the Windows Installer table or a corresponding uninstallation table. To remove .ini data, for example, there is a RemoveIniFile table. For environment variable data, there is a corresponding uninstallation flag.

Note: If a component is shared with other products, you should change the component code when removing resources. Furthermore, changing an existing component’s component code requires a major upgrade. For major upgrades, you do not need to populate the Remove tables since a major upgrade requires a complete uninstallation.

Method 2

Mark a component as transitive, and set a condition on the component that will evaluate to false when a minor upgrade is applied.

See Also