EnforceUpgradeComponentRules

This is a per-machine system policy that can be used to apply upgrade component rules during small updates and minor upgrades.

Set the EnforceUpgradeComponentRules policy to 1 to apply upgrade component rules during small updates and minor upgrades of all products on the computer. To apply the rules during small updates and minor upgrades of a particular product, set the MSIENFORCEUPGRADECOMPONENTRULES property to 1 on the command line or in the Property table.

When the property or policy has been set to 1, small updates and minor upgrades can fail because the update attempts to do the following:

  • Add a new feature to the top or middle of an existing feature tree.

    The new feature must be added as a new leaf feature to an existing feature tree.

    In this case, the ProductCode of the product can be changed and the updates can be treated as a major upgrade.

  • Remove a component from a feature.

    This can also occur if you change the GUID of a component. The component identified by the original GUID appears to be removed and the component as identified by the new GUID appears as a new component.

    Windows Installer 4.5 and later: The component can be removed correctly using Windows Installer 4.5 or later by setting the msidbComponentAttributesUninstallOnSupersedence attribute in the Component table or by setting the MSIUNINSTALLSUPERSEDEDCOMPONENTS property.

    Alternatively, the ProductCode of the product can be changed and the updates can be treated as a major upgrade.

Registry Key

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer

Data Type

REG_DWORD

Not Supported in Windows Installer 2.0 and earlier