InstallShield Product Code is a unique Globally Unique Identifier (GUID)
that serves as the principal identity of a software product in the Windows Installer (MSI) framework. Stack Overflow Core Definition and Purpose
The Product Code is a 128-bit hexadecimal string enclosed in curly braces (e.g., 50EFC3E0-8AF8-11D4-94C7-00E09876D9C4 ). Its primary functions include: Flexera Community Uniqueness
: It distinguishes one software application from another. Windows Installer treats two products with different Product Codes as unrelated, even if they share the same name. Installation Logic
: At runtime, the installer checks this code to determine if the product is already on the machine. Conflict Prevention
: Windows Installer prevents installing two different MSI packages with the same Product Code on the same computer, triggering an error that "Another version of this product is already installed". Comparisons with Related GUIDs installshield product code
To understand the Product Code, it must be differentiated from other standard identifiers used in InstallShield projects Identifier Frequency of Change Product Code Identifies a specific version/flavor of a product. Change for major upgrades. Package Code Identifies a specific file/build. Change for every single build Upgrade Code Identifies the general "product family." Keep the same across all versions to allow upgrades. When to Change the Product Code
Maintaining a Product Code is critical for maintenance (patches), while changing it is necessary for significant transitions. Change the Product Code when:
In InstallShield, 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
Unique Identity: It distinguishes your application from every other application in the Windows ecosystem.
Installation Check: At runtime, the installer checks this code to determine if the product is already installed on the system. InstallShield Product Code is a unique Globally Unique
Maintenance & Uninstallation: Windows uses this GUID to locate the specific installation data required to modify, repair, or remove the software. When to Change (or Keep) the Code
Managing this code is critical for product versioning and updates:
Major Upgrades: When creating a Major Upgrade (a new version that replaces the old one), you must generate a new Product Code and Package Code, while keeping the Upgrade Code the same.
Minor Updates: For minor changes where you want to patch or update an existing installation without a full reinstall, you typically keep the existing Product Code.
Side-by-Side Versions: If you want two versions of your app (e.g., v1.0 and v2.0) to coexist on the same machine, they must have different Product Codes. Method 1: Manual Generation (Recommended for Source Control)
Bit Architecture: 32-bit and 64-bit versions of the same application must always have different Product Codes. How to Find or Set the Product Code
Pro tip: Always generate new GUIDs inside InstallShield, not in external tools. InstallShield’s generator ensures compatibility with its internal validation routines.
Definition: 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.
When to do it:
How to implement in InstallShield: Go to Project > InstallShield MSI Project > General Information > Product Code and click "New GUID." Then navigate to Media > Releases > Upgrades and create a new upgrade item. Set "Detected product code" to the old version's Product Code.