A Windows Installer MSI package uses a few globally unique identifiers (GUIDs) as codes to identify certain details about the package.

Package Code

It is used to uniquely identify each MSI package. Windows Installer does not allow two different MSI packages with the same Package Code to be installed on the same machine. Advanced Installer generates a new one each time a project is built and a new package is created. Starting an MSI with an installed Package Code will show the Modify/Repair/Remove Maintenance dialog.

Upgrade Code

Defines a family, a set of related products. Advanced Installer generates a new Upgrade Code whenever a new project is started. The Upgrade Code will never change for any version of the same product.

Product Code

It is used to uniquely identify a particular product release. Windows Installer allows only one program with a given product code to be installed on a computer at a time. It will prevent the installation of a second MSI with the same Product Code as a currently installed one. Advanced Installer will attempt to generate a new Product Code every time you change the Product Version.

ImportantYou must allow the generation of the new product code if you want to allow the automated upgrade of older versions of the product and to prevent the installation of older versions over newer ones. Otherwise, not generating a new Product Code will ensure that only one version of the product can be installed on the computer. Also you must generate a new Product Code for side-by-side installation of different versions to work.

These codes are used in conjunction with the Product Version to obtain the automatic upgrade of the previous version or to prevent the installation of an older version over a newer one:

  • If the “Automatically upgrade older versions...” option is selected in the Upgrades page, on install Windows Installer will search for and uninstall all the products with the same Upgrade Code and older Versions.
  • If the “Allow side by side installs...” option is selected in the Upgrades page, Windows Installer will allow different versions of the same product to be installed on the same computer.