- Revenera Community
- :
- InstallShield
- :
- InstallShield Knowledge Base
- :
- Major Upgrade vs. Minor Upgrade vs. Small Update
- Mark as New
- Mark as Read
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Major Upgrade vs. Minor Upgrade vs. Small Update
Major Upgrade vs. Minor Upgrade vs. Small Update
Summary
Windows Installer supports three types of product upgrades: major upgrades, minor upgrades, and small updates. The following information serves as a guide to help you determine which type of upgrade best suits your needs. If any one of the requirements for your upgrade is not appropriate for a minor upgrade or a small update, you should create a major upgrade. If you are not sure which type of upgrade you should use for your Windows Installer?based project or if you do not have a preference, you can create an automatic upgrade.Synopsis
Windows Installer supports three types of product upgrades: major upgrades, minor upgrades, and small updates. The following information serves as a guide to help you determine which type of upgrade best suits your needs. If any one of the requirements for your upgrade is not appropriate for a minor upgrade or a small update, you should create a major upgrade. If you are not sure which type of upgrade you should use for your Windows Installer?based project or if you do not have a preference, you can create an automatic upgrade.
Discussion
Codes Associated with the Different Types of Upgrades
Several Windows Installer codes help identify a product:
- Package Code?Part of the Summary Information Stream, the package code identifies a particular database. The package code is not a Windows Installer property. Any two .msi databases with identical package codes must have identical contents. Therefore, you should change the package code for each build.
- ProductVersion?This is a Windows Installer property that contains the product version. Note that Windows Installer uses only the first three fields of the ProductVersion property for version comparisons. For example, for a product version of 1.2.3.4, the 4 is ignored. (Note that this is true for comparisons of ProductVersion values, and not for file versions.)
- ProductCode?This is a Windows Installer property that contains the GUID of a product. Windows Installer treats two products with different ProductCode GUIDs as unrelated, even if the values for the ProductName property are the same.
- UpgradeCode?This is a Windows Installer property that contains a GUID representing the product family. The UpgradeCode should be consistent across different versions and languages of a family of related products for patching purposes. You can set the UpgradeCode for an upgrade in the Upgrades view.
For any type of upgrade, you must change various combinations of the package code, product version, and product code to identify the product being installed. The following table identifies when each code should be changed for different types of upgrades.
Codes that Need to Be Changed for the Different Types of Upgrades
|
Package Code |
Product Version |
Product Code |
Upgrade Code |
---|---|---|---|---|
Small Update |
X |
|
|
|
Minor Upgrade |
X |
X |
|
|
Major Upgrade |
X |
X |
X |
|