InstallShield provides several methods to manage this GUID.

  • For minor updates/patches:
  • If you inherit an old project or need to troubleshoot a client's machine, here is how to find the Product Code of an installed application.

    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.

    | Aspect | Detail | |--------|--------| | Purpose | Identifies the product for Windows Installer | | Change required? | For major upgrades only (not minor updates or patches) | | Location in IDE | General Information > Product Code | | Related codes | Upgrade Code (permanent, identifies product family)
    Package Code (changes with every build) |

    In InstallShield Professional or Premier:

    Result: You write a custom action that checks for OLD-GUID. When you change the Product Code, your script breaks. Fix: Use property references (e.g., [ProductCode]) in InstallScript or use the MSI API to retrieve the current product code dynamically.