Merge Module Projects

InstallShield 2016

Merge modules allow you to add existing pieces of functionality to your installation. For example, if your application requires the VB Run-Time DLL, you can add Microsoft’s Visual Basic Virtual Machine module to your setup application. Traditionally, you would have to create registry entries, set the target folders, custom actions and any other necessary steps yourself. With merge modules, all you need to do is associate an existing merge module with your installation and move on to your next task.

InstallShield provides you with the ability to create your own merge modules to distribute with your installations or give away to other developers. This can be useful if you are going to include certain pieces of functionality in all of your installation projects. Rather than having to recreate that part of the installation every time, you can create it once as a merge module and then associate that module with all of your installation projects.

InstallScript Custom Actions in Merge Module Projects

Merge modules can contain InstallScript custom actions. However, you must manually create the Module**Sequence table entries to make sure that the custom actions are merged properly.

How Merge Modules Work

When a merge module is associated with an installation project, it is merged into the .msi database at build time. As a result, you are merging two distinct projects (your new installation and the existing merge module) into one .msi file. The merge module behaves like a component in that it is not installed unless the feature with which it is associated is installed. Therefore, if you have a feature that requires VB run-time DLLs, and that feature is not selected for installation, the VB merge module will not be installed.

See Also