Val0003

InstallShield 2015

Project: This information applies to the following project types:

Basic MSI
InstallScript MSI
QuickPatch

Message 1(Note)

This setup will perform a SMALL upgrade of the referenced previous setup.

Message 2(Note)

This setup will perform a MINIOR upgrade of the referenced previous setup.

Message 3(Note)

This setup will perform a MAJOR upgrade of the referenced previous setup.

Message 4(Error)

The package code for the latest setup does not differ from that of the previous version. In order to perform an upgrade, the package code MUST change.

Message 5(Note)

The product version [1] differs from the product version [2] but only past the third element. The Windows Installer does not detect version differences past the third version element.

[1] is the version number of the previous installation. [2] is the version number of the latest installation.

Message 6(Error)

The setup needs to perform a Major Upgrade of the previous setup specified. However, the Upgrade Code for the previous setup [1] is not in the upgrade table. An upgrade will not occur.

[1] is the upgrade code of the previous installation.

Message 7(Error)

The setup needs to perform a Major Upgrade of the previous setup specified. While upgrade table entries exist for the Upgrade Code, there is no upgrade table entry that matches the Product Version [1] or Product Language [2].

[1] is the version number, and [2] is the language ID of the installation.

Message 8(Error)

A previous package does not contain an UpgradeCode property. A major upgrade will fail to uninstall any previous versions that do not have an UpgradeCode.

Description

This validator determines the type of upgrade that is necessary to update an earlier installation. For example, if you are creating a minor upgrade but this validator states that your installation is configured to perform a major upgrade, consider changing your minor upgrade to a major upgrade.

This validator also checks if the package code has changed. This check is performed for all upgrade types. Changing the package code is a requirement any time that you decide to release an installation, whether or not you intend to upgrade it. If the package code has not changed, you will see the error described in message 4.

If the product version has changed but only past the third version item, the validator displays the note described in message 5. This note is designed to alert you that changes to the fourth item in a version resource will not appear as unique versions to the installer at run time.

Additionally, if a major upgrade is required, this validator will check if the appropriate entries exist in the latest installation to remove the previous installation from the target machine. If these entries do not exist, you will see message 6 or 7. Message 6 is displayed when there are no settings related to the earlier product. Message 7 is displayed when there is a setting related to the earlier product, but the signature of that setting does not patch the signature of the previous setup. Error 8 is displayed if there is a setting related to the earlier product, but the upgrade code was not found in the earlier installation.

Corrective Action

If you receive message 4, you must generate a new package code for the latest version of your installation. A good option is to set the Generate Package Code property for the product configuration to Yes.

If you receive message 5, you can choose to disregard it since it is for informational purposes. However, note that having indistinguishable versions can create difficulties if you attempt to apply a major upgrade at a later date.

If you receive message 6, you need to add a major upgrade item.

There are several possible reasons why you might receive message 7. The first possibility is that the product version does not fall within the range of versions specified as potential target installations. If the version of the previous installation is either the upper bound or the lower bound of the acceptable range of product versions to upgrade, you may want to check the minimum and maximum inclusive settings for your major upgrade item. Additionally, the product language may not be listed in the list of supported languages for upgrading. You will also get error message 7 if you have defined a major upgrade item for the previous setup but have marked that item to Detect Only.

If you encounter error 8, remove the earlier package that does not have an upgrade code.

See Also