Merges and Transforms

[This is preliminary documentation and subject to change.]

Because Microsoft® Windows® installer uses a relational database, you can manipulate the installation process by applying transform and merge operations to the installation database. A transform makes changes to some of the elements of a single database, for example, a transform can be used to change the language in the user interface of an application. A merge combines two databases into a single database. This means that the installation database for a component of the application can be developed separately and then later merged into the main installation database. By using multiple transforms and merges together, the user gains much more control over the installation process with the installer than is possible with other installation technologies.

Primary uses for transforms include:

Merges are useful to development teams because they allow a large application to be divided into smaller parts that can be recombined later.

A development team might apply a merge operation in the following way:

  1. Separate into smaller groups and work simultaneously on different components of a large application.
  2. Each development group can then populate its own installation database without being concerned immediately with the other components of the application.
  3. After the development of a component is complete, the component's database can be merged into the main installation database for the entire application.

Multiple transforms and merges can be applied to a base package and then applied on-the-fly during installation. This extends the capabilities of the installer to create custom packages and provides a mechanism for efficiently assigning the most appropriate installations to different groups of users.