User Guide
330
About Merge Modules
About Merge Modules
A merge module is a special kind of Windows Installer database that contains the
components needed to install a discrete software bundle. A merge module cannot be
installed alone, but must be merged into a standard Windows Installer installation
during compile of the installation. Typically, a merge module or a collection of merge
modules related by dependencies installs a software product or portion of a product at
runtime. The purpose of merge modules is to let you add self-contained software
modules to multiple installations. See Merge Modules in the Windows Installer SDK Help.
Example: Suppose you have 5 applications that require a specifically configured version
of the Visual Basic runtime. You could create a merge module that installs and
configures the Visual Basic runtime. Then you add the merge module to each installation
that requires that particular Visual Basic runtime. This saves you from having to add the
necessary files, registry entries, and other components to every installation individually.
It also saves time if you update the merge module; instead of updating the 5
installations for all applications, you update only the merge module, then recompile the
5 installations.
When deploying software via a merge module, keep update considerations in mind.
Example: If you deploy MSDE via a merge module, end users cannot use Microsoft’s
MSDE security patches to update that installation of MSDE. Microsoft patches only
operate on software packages installed by .MSI. You would have to incorporate the
MSDE patch changes in an update to your own application and distribute it to your end
users. This could cause security and timing issues for your end users.
You can create merge modules and add them to installations. See Adding a Merge
Module to an Installation on page 344. You can also add predefined merge modules to
an installation, which install commonly-used software packages. For information on
obtaining predefined merge modules, see Downloading Redistributable Files on page 39.
Note
When you view MSI Script in a merge module, you’ll notice that you cannot select an
installation mode, that there are no actions in the right pane, and that there are no sequence
tabs at the bottom. This is because any custom action you add to a merge module does not
contain its own sequence tables and must be merged into the CustomAction table and the
sequence tables of the main installation. See All Custom Actions on page 489 and Using the
Custom Action Location Tab for Merge Modules on page 533.
Configurable Merge Modules
Configurable merge modules contain certain values that the installation author can
configure to specify how the module behaves in an installation. Example: A configurable
merge module might let you set attributes on components, enable or disable isolated
components, specify a bitmap for a dialog, or specify how a custom action is run.
When you add a configurable merge module to an installation, an additional dialog
appears, on which you specify values for the configurable items. You also can create
configurable merge modules.
Configurable merge modules are supported only by Windows Installer 2.0 or later. See
Configurable Merge Modules in the Windows Installer SDK Help.
Also see:
Available Tabs and Pages in Merge Modules on page 331
Creating a Merge Module As a New Installation on page 334