This is where 90% of upgrade failures happen. You cannot treat these two codes interchangeably.
| Feature | Product Code | Upgrade Code | | :--- | :--- | :--- | | Changes during a patch? | No | No | | Changes during a minor upgrade? | No | No | | Changes during a major upgrade? | Yes (Must change) | No (Stays the same) | | What does it track? | A specific version instance | The "family" of products | installshield product code
At its core, the InstallShield Product Code is a GUID (e.g., AC76BA86-7AD7-1033-7B44-A94000000001) that uniquely identifies an application suite or product. This is where 90% of upgrade failures happen
However, there is a critical nuance that causes endless confusion: InstallShield supports two major project types—InstallScript and MSI (Windows Installer). | No | No | | Changes during a minor upgrade
In InstallShield Professional or Premier:
Result: Windows treats your new version as a completely different product. Users end up with two independent installations. Fix: Once you ship version 1.0, write down your Upgrade Code in a source-controlled text file. Never change it.