Resolving Build-Time Conflicts Between a Basic MSI Project and a DIM Reference

InstallShield 2016

Project • This information applies to Basic MSI projects.

When you build a Basic MSI release that contains a DIM reference, InstallShield merges the DIM data into the Basic MSI release that it generates. If data conflicts exist, InstallShield needs to determine which data takes precedence: the values in the DIM project or those in the Basic MSI project.

InstallShield lets you specify how you want to resolve conflicts between settings in a DIM project with those in a Basic MSI project that contains a reference to that DIM. Following are examples of different types of conflicts that may occur:

Both projects contain a property that has the same name but different values.
Both projects contain a string entry that has the same string identifier but different values for a particular language.
Both projects contain a path variable that contains the same name but different values.
Both projects contain a component that has the same name but different values for one or more of its settings.

In most cases, conflicts do not occur, since InstallShield automatically includes a DIM project–specific GUID in the names of items such as properties, string entries, path variables, and components when you create these in a DIM project, but not in a Basic MSI project. If you create a property called MYPROPERTY in a Basic MSI project, the property is called MYPROPERTY. If you create a property called MYPROPERTY in a DIM project, InstallShield internally calls the property MYPROPERTY.DIM_GUID, where DIM_GUID is the identifier that is defined in the DIM GUID setting of the General Information view of the DIM project. Thus, the name of the property in the DIM becomes, for example, MYPROPERTY.8356F8B7_8DE5_4E04_A77A_6FA722CBE1CC. For this particular example, you can use the Direct Editor to see the internal name of the property in the Property table of the DIM project.

To indicate how you want InstallShield to resolve conflicts between a Basic MSI project and one of its DIM references:

1. In the View List under Organization, click DIM References.
2. In the DIMs explorer, select the DIM that you want to configure.
3. Click the Build Options tab.
4. For the Conflict Resolution setting, select the appropriate value. Available options are:
Use Base Project Value—If InstallShield encounters a conflict when merging the DIM data into the Basic MSI installation at build time, InstallShield uses the value that is in the Basic MSI project instead of the value that is in the DIM project.
Use DIM Project Value—If InstallShield encounters a conflict when merging the DIM data into the Basic MSI installation at build time, InstallShield uses the value that is in the DIM project instead of the value that is in the Basic MSI project.

One possible but unlikely scenario for encountering conflicts is if you import a DIM into a Basic MSI project, modify an item in the DIM project, and then try to add a reference to the same DIM in the Basic MSI project. In this scenario, InstallShield overrides the value of the DIM setting or the value of the Basic MSI setting, depending on how you have the Conflict Resolution setting configured, to avoid a conflict.

See Also