MSIENFORCEUPGRADECOMPONENTRULES property

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

When the property or policy is set to 1, small updates and minor upgrades can fail because the update tries to do the following that violates the upgrade component rules:

  • 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 update 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 and 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 update can be treated as a major upgrade.

Requirements

Requirement Value
Version
Windows Installer 5.0 on Windows Server 2012, Windows 8, Windows Server 2008 R2 or Windows 7. Windows Installer 4.0 or Windows Installer 4.5 on Windows Server 2008 or Windows Vista. Windows Installer 3.0 or later on Windows Server 2003 or Windows XP. See the Windows Installer Run-Time Requirements for information about the minimum Windows service pack that is required by a Windows Installer version.

See also

Properties

Not Supported in Windows Installer 2.0 and earlier