Installshield Product Code Site
: When releasing patches, ensuring the correct product code is targeted is crucial for successful patch application.
What are you using (Basic MSI, InstallScript, or Advanced UI)?
Understanding the InstallShield Product Code: A Guide for Developers installshield product code
In , the Product Code is a unique GUID (Globally Unique Identifier) that serves as the principal identification for a specific software product. Key Functions of the Product Code
Change the Product Code if it is a major upgrade, or increment the Product Version if it is a minor upgrade. Uninstallation Leaves Leftovers : When releasing patches, ensuring the correct product
A is a change that is small enough that it does not warrant a change to the product version number. The installer is a full .msi package that updates a product and is typically used for critical hotfixes. For this type of update, only the Package Code is changed, while the Product Code, Product Version, and Upgrade Code all remain the same.
For InstallScript MSI projects requiring a silent installation, you first run the installer in record mode ( /r ) to generate a setup.iss response file. This file captures the installation options and can be populated with the Product Code. For subsequent silent installations, you use the /s parameter: bash Setup.exe /s Note that Basic MSI projects do not use response files for silent installations; they rely on msiexec commands directly. Key Functions of the Product Code Change the
A major upgrade is a complete replacement of the older product. It typically involves a new Product Code and often a new directory structure, component IDs, or registry layout.
Managing this code is critical for product versioning and updates:
Keep your Upgrade Code constant. Store it as a project setting. Use a build script to:
In the eyes of the Windows Installer, 4.2 was 4.1. But because the file versions were different, the installer didn't know whether to perform a "Small Update," a "Minor Upgrade," or a "Major Upgrade." It simply panicked and locked the doors.