PRB: Multiple Entries in the Add/Remove Programs Utility After a Windows Installer Update (300540)



The information in this article applies to:

  • Microsoft Windows Installer 1.0
  • Microsoft Windows Installer 1.1
  • Microsoft Windows Installer 1.2

This article was previously published under Q300540

SYMPTOMS

After updating or upgrading a Windows Installer package (.msi file) you may find that you have multiple entries for that application in the Add/Remove Programs (ARP) utility in Control Panel. This article described how to prevent this event from occurring.

CAUSE

The cause of the multiple entries in the ARP utility is incorrect or missing values in the .msi package. The most prevalent causes are an incorrect change or mismatch of the:
  • ProductCode - The ProductCode is a GUID that is used as the principal identification of an application or product. -or-

  • UpgradeCode - The UpgradeCode is a GUID that is used in the Upgrade Table that identifies a related set of products and can be used to search for related versions of the product that are already installed.

RESOLUTION

The following table summarizes the most common causes of multiple entries in the ARP utility for each type of update/upgrade, as well as the steps to take to avoid the problem.

Upgrade TypeCauseResolution
SmallThe ProductCode has been changed from that of the original package.The ProductCode of the upgraded package should remain the same as in the original .msi package. Only the package code should be modified.
MinorThe ProductCode has been changed from the original package.The ProductCode of the upgraded package should remain the same as in the original .msi package. Only the package code should be modified.
MajorThe UpgradeCode does not match the UpgradeCode property of the original package.The UpgradeCode in the upgrade table should match that of the UpgradeCode property value in the original .msi package. Also make sure that the remaining entries in the Upgrade Table row are correct and match the original file. For example, verify that the SecureCustomProperties property is set and is a public (all uppercase) property.

STATUS

This behavior is by design.

MORE INFORMATION

For further information on how to create a successful small update or minor or major upgrade, see "Patching and Upgrades" in Windows Installer Platform SDK Help:

Steps to Reproduce Behavior

The following steps will reproduce the problem of duplicate ARP entries.

Small Update or Minor Upgrade

  1. Create your first .msi package and install it.
  2. Create the updated second .msi package and change the ProductCode so that it is different from that of the first .msi package.
  3. From the command line run:

    msiexec /I <path to updated msi file> REINSTALL=ALL REINSTALLMODE=vomus

    Check the ARP utility and you will see duplicate application entries.

Major Upgrade

  1. Create your first .msi package and install it.
  2. Create the updated second .msi package and change the ProductCode. Add the necessary information needed for creating a major upgrade. Make sure that the UpgradeCode in the Upgrade Table does not match the UpgradeCode property of the first .msi package.
  3. From the command line run:

    msiexec /I <path to updated msi file>

    Check the ARP utility and you will see duplicate application entries.

Modification Type:MajorLast Reviewed:10/2/2003
Keywords:kbprb KB300540