Whether you're a seasoned deployment engineer or a dev just trying to get an app out the door, mastering the Product Code is your first step to a stable installation experience. Do you need help setting up Major Upgrade
If your product needs to be installed multiple times on the same machine (e.g., for different configurations or users), each instance . When you add a new instance to a product configuration in the Releases view, InstallShield automatically generates a new Product Code GUID for it. You should also set the ProductName property to a different name for each instance so they can be easily distinguished in "Add or Remove Programs".
Would you like a concrete example of setting this up in an InstallShield project (e.g., for a major upgrade using Upgrade Table)?
Last updated: October 2023. This guide applies to InstallShield 2020 and later. installshield product code
If you are a setup developer building an installation package, you can easily view or modify the Product Code directly within the InstallShield Integrated Development Environment (IDE). Open your project in .
Represents a related family of products. It remains constant across all versions, patches, and updates of a software line to enable the installer to locate and upgrade older versions.
Let’s cut through the confusion.
Identifies the exact physical .msi file. Every time you build your installer—even if you did not change a single line of code—InstallShield generates a new Package Code. No two .msi files should ever share the same Package Code. How to Find Your InstallShield Product Code
: When starting a new project, avoid simply copying an existing
You can manually type a new GUID, or click the button (the "curly braces" icon) to have InstallShield create a unique one for you. Common Pitfalls to Avoid Whether you're a seasoned deployment engineer or a
This is the most critical question for any installer developer. The answer is defined by the type of update you are creating:
During a Major Upgrade, the incoming installer uses its Upgrade Code to search the target system for existing installations. Once found, it checks the old Product Code to execute a clean uninstallation of the legacy application before deploying the new version. 3. Handling Uninstallation and Patching