Windows Installer Editor Reference
364
Chapter 13
Merge Modules and Transforms
This chapter includes the following topics:
z
About Merge Modules
on page 364
z
Available Tabs and Pages in Merge Modules
on page 365
z
Creating a Merge Module As a New Installation
on page 369
z
Creating a Merge Module Within a Solution
on page 371
z
Creating a Merge Module From Existing Components
on page 373
z
Creating a Configurable Merge Module
on page 374
z
About the Merge Modules Page
on page 381
z
Adding a Merge Module to an Installation
on page 381
z
About Transforms
on page 384
z
Creating a Transform Based on an Existing .MSI
on page 385
z
Applying a Transform to an Installation
on page 387
z
Multiple Instance Installations
on page 388
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 an application or portion of an application at
run time. 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 five 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 five
installations for all applications, you update only the merge module, then recompile the
five installations.
When deploying software through a merge module, keep update considerations in mind.
Example: If you deploy MSDE through 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 obtain merge modules from several sources: