knew the drill. He checked the version numbers. He checked the Upgrade Codes. Everything looked perfect. But the installer was adamant. It saw a phantom. The Investigation
The primary use of changing the Product Code is to perform a . In InstallShield, this is configured in the Upgrades view.
Most developers ignore them—until something breaks. Why does Windows say the software is already installed? Why did your "upgrade" install a second copy instead of replacing the old one?
A GUID that identifies the specific MSI file itself, not the product. It must be unique for every build of an MSI file, even if the Product Code stays the same. When to Change the Product Code
It serves as the principal signature of your software application on a target operating system.
uuidgen > productcode.txt IsCmdBuild.exe "MyProject.isproj" -p "productcode:%PRODUCTCODE%" -r "DEV"
Navigate to the section in the left pane. Click on General Information . Expand the Product Properties group. Locate the Product Code property in the main settings grid. In InstallScript MSI Projects
: Changing version without changing Product Code (or using a proper minor upgrade table) breaks servicing.
In Windows Installer (MSI) technology — which InstallShield uses — a is a GUID (e.g., A1B2C3D4-E5F6-7890-AB12-CD34EF567890 ) that uniquely identifies a product.