ACE10: Conflicts in Registry Root, Key, and Name Combinations

AdminStudio 2023 | 25.0 | Application Manager

Edition:This test is included in the AdminStudio Professional and Enterprise Editions.

ACE10 checks for the existence of identical root/key/name registry combinations in components with different ComponentId values.

Test Group/Test Category

Application Conflicts/Package Data Conflicts/Registry

Severity

Warning

Message

The registry entry [REGISTRY_ENTRY] [REGISTRY_KEY] in the component [COMPONENT1] in the package [PACKAGE1] conflicts with the same registry entry in the component [COMPONENT1] in the package [PACKAGE2].

Background

If the same root/key/name registry combination is in more than one component, a warning is generated.

Conditions When an ACE10 Error Can Be Ignored

ACE10 uses data from the Registry table in the .msi package to check for identical registry root/key/name combinations in different components. However, there may be situations in which ACE10 reports an error unnecessarily. Windows Installer supports a grammar for the Registry table in which every time that the value in the Value field is preceded or terminated by the sequence tilde '[~]', the registry value is appended or prefixed, respectively, to the existing registry value. This sort of operation may be perfectly acceptable if the applications in question are modifying a common registry key in a manner consistent with its purpose.

Decide individually if an ACE10 error is valid, but consider checking the Registry Value field, since its contents may prove useful in helping you decide.

Resolution

Manual Fix

To resolve this issue:

1. Open the MSI package in InstallShield Editor.
2. In the View List under Organization, click Components.
3. In the Components explorer, find the component that is listed in the message.
4. In the Component Code setting, change the value to match the component code (ComponentId) of the component in the other project.

If it is unclear what value you should use, do the following:

a. In InstallShield Editor, open the package that will not be edited.
b. In the View List under Additional Tools, click Direct Editor.
c. In the Tables explorer, click the Component table.
d. Search for the component name that is included in the message, and note the value that is listed in the ComponentId column for that component. This is the component code that you should use for the component in the other package.
5. On the File menu, click Save As, and save the changes as a Windows Installer Transform (.mst) file.
6. Open Application Catalog and reimport this package with its transform file into your Application Catalog, and then use the Conflict Wizard to check it against ACE10 again.