Introduction to Merge Modules
Merge modules are a feature of Windows Installer that provides a standard method for delivering components, insuring that the correct version of a component is installed. A merge module contains a component such as a .dll along with any related files, resources, registry entries, and setup logic.
Merge modules cannot be installed directly, but rather are merged into an installer for each application that uses the component. This insures that the component is installed consistently for all applications, eliminating problems such as version conflicts, missing registry entries, and improperly installed files.
Each merge module contains unique version information that is used by the Windows Installer database to determine which applications use the component, preventing premature removal of a component. For this reason, a new merge module should be created for every incremental version of your component; a merge module should never be updated after it has been included in an installer.
The deployment tools in Visual Studio make it easy to create merge modules and include them in installers for your applications.