Upgrade Table

[This is preliminary documentation and subject to change.]

The Upgrade table contains information on how the installer should perform an upgrade of a product and how to handle installations when related versions of the product are already installed.

The Upgrade table has the following columns.

Column Type Key Nullable
UpgradeCode GUID Y N
ProductVersion Text Y N
Operator Integer Y N
Features Text N
Property Identifier N

Columns

UpgradeCode
This column contains a unique UpgradeCode property representing a set of products that are related to the pending product upgrade. Products already installed and having this UpgradeCode may be removed and replaced by the pending upgrade or the current installation may be blocked.
ProductVersion
This is the version of the product that it to be compared to any related products that are already installed. Whether or not this version replaces an installed version of the product depends upon the evaluation of the Operator column.
Operator
This column contains an operator that changes the current installation dependent upon whether another version of the product is already installed. The following table lists the possible operations. To combine these operations, add their values and use the sum in the Operator column. For example, setting the Operator column to 3 specifies that the installation be blocked if a newer upgrade of the product is already installed. The type of the operator should be the same as the Type column of the CustomAction table.
Value Operation
0 If there is another version of the product already installed, then uninstall it.
1 If there is another version of the product already installed, then block the installation.
2 Check if the installed version of the product is greater than the ProductVersion column.
4 Check if the installed version of the product is less than the ProductVersion column.
8 Check if the installed version of the product equals the ProductVersion column.
16 If there is another version of the product already installed, then migrate the product settings from it.

Features
The features listed in this column are removed from the installed product when installing a newer version of the product.
Property
The property in this column is set to the product code if the FindRelatedProducts action finds any related products already installed. If more than one product is found, this property is set to a semi-colon delimited list of product codes.

Remarks

The Upgrade table is used by the FindRelatedProducts action, BlockInstall action, MigrateFeatureSettings action and the RemoveOldProducts action.