A merge module contains all of the logic and files needed to install distinct pieces of functionality. For example, many applications require Visual Basic® run-time DLLs. Instead of having to include the file in a component and figure out its installation requirements, you can simply attach the Visual Basic Virtual Machine merge module to one of your project's features.

## Adding a Merge Module

To create a reference to a merge module in your project, right-click on a feature in the Setup Design view and select Merge Module Wizard. In the wizard's Merge Module Gallery panel, choose one of the freely redistributable third-party merge modules that InstallShield provides. Next, associate the merge module with all of the features and subfeatures that require it. Finally, review the wizard's settings and click Finish to add the module to your setup project.

Right-click on a merge module and select Delete to disassociate it from its features and remove any reference to it from your project.

## Objects

Objects are similar to merge modules, except that you can customize the object and any related elements. You can select an object in the Merge Module wizard; an object is distinguished visually from merge modules by its icon: . Then, when the object is added to your project, you can right-click and select Configure in the Setup Design or Redistributables View to launch the Object wizard and customize the InstallShield object. For example, you can select the Access 97 object in the Merge Module wizard to install all of the files necessary to run Access 97. Then you can launch the Access 97 Object wizard to configure the object to install an Access application.

## Customizing Merge Modules

This view presents all of the merge modules and objects that you have referenced in your project. Select an item in the tree to view its summary information. All of the properties are read-only except for the merge module's Destination.

Consider merge modules a black box in that you should not alter another company's merge module. If you must edit a merge module and you do not have its project (.ism) file, you can use the Open MSI/MSM wizard to open the file in the InstallShield IDE as a merge module project. Edit the module, build a release, and then use the Merge Module wizard to include it in your setup project.

To comply with Setup Best Practices , you should use merge modules whenever possible. And in order to follow Windows logo requirements, you must not ship any core component files outside of service packs or merge modules. Therefore, if you have the Best Practices monitoring option active, the Setup Best Practices wizard will alert you whenever you try adding to a component any file that is part of the merge modules that InstallShield provides.