InstallShield 2019 Express Edition
Project • This information applies to QuickPatch projects.
InstallShield enables you to specify the order that Windows Installer version 3.0 or later should apply small-update patches to an installed product, regardless of the order in which they are provided to the target machine. With patch sequencing data, you can ensure that Windows Installer knows the intended relationships among the upgrades packaged within a family of patches. Consequently, applying patch 1 of a product after patch 2 has already been applied will register patch 1 without overwriting patch 2 files. For versions of Windows Installer earlier than version 3.0, the patch sequence is ignored, and any small-update patches are applied to the product in the order that they are provided to the target machine.
The patch sequencing functionality available with Windows Installer 3.0 and later simplifies the patch creation process. The following sections show how.
Creating Patches to Be Applied with Versions of Windows Installer Earlier than 3.0
If you need to create your patches so that they can be applied to your product via versions of Windows Installer earlier than 3.0, it is recommended that you avoid creating small updates. Small updates do not change the product version; therefore, external programs, including installers for later versions of your product, cannot distinguish a product with the small update applied from one without the small update. For scenarios limited to versions of Windows Installer earlier than 3.0, you need to plan around such limitations of the installer, thus targeting an increasing number of possible earlier product states. The sample application lifecycle presented in the following table illustrates the resulting complexity.
Application Package |
Product Version |
Previous Setups Targeted by Package |
1. Base installation |
1.0 |
— |
2. Minor upgrade |
1.1 |
1.0 |
3. Minor upgrade |
1.2 |
1.0, 1.1 |
4. Minor upgrade |
1.3 |
1.0, 1.1, 1.2 |
5. Minor upgrade |
1.4 |
1.0, 1.1, 1.2, 1.3 |
6. Major upgrade |
2.0 |
1.0, 1.1, 1.2, 1.3, 1.4 |
Creating Patches to Be Applied with Windows Installer 3.0
With the patch sequencing functionality available with Windows Installer 3.0 and later, you can safely use a small-update patch to deliver a discrete upgrade for several different versions of a product, even though small updates do not change the product version. Unlike a small update, a minor upgrade changes the product version. Minor upgrades also form the framework for the sequencing of small-updates patches. If a small update for version 1.1 of a product is applied to version 1.2, the installer registers the small update on the target system and applies it as if it were encountered before the 1.2 minor upgrade was applied.
Small-update patches also enable Windows Installer 3.0 and later to maintain a valid product state as other patches are applied and removed individually from the product. In addition, patch sequencing lets you generate upgrade packages from a smaller set of earlier product states without requiring you to consider every possible combination of patches that could exist on the target machine. The sample application lifecycle presented in the following table illustrates this advantage.
Application Package |
Patch Sequence Number |
Product Version |
Previous Setups Targeted by Package |
1. Base installation |
— |
1.0 |
— |
2. Small update |
1 |
1.0 |
1.0 |
3. Small update |
2 |
1.0 |
1.0 |
4. Small update |
3 |
1.0 |
1.0 |
5. Small update |
4 |
1.0 |
1.0 |
6. Minor upgrade |
— |
1.1 |
1.0 |
All of the small updates in the table above belong to the same patch family. Windows Installer 3.0 and later uses the patch family to compare a small-update patch with all of the other patches within the same family and determine the order in which each of the patches should be applied to the target machine. Patch sequences are added to the MsiPatchSequence table of the patch package database. This table defines the relationships between patches that target the same family of patches.
See Also
MsiPatchSequence Table (Windows Installer Help Library)
InstallShield 2019 Express Edition Help LibraryApril 2019 |
Copyright Information | Flexera |