Designing Merge Modules

InstallShield 2024

Project: This information applies to the Merge Module projects.

Merge modules enable several development teams to work on separate components independently. Each team can populate its installation database without immediately considering how their work will affect other components. When the components are fully developed, each component in the merge module database can be merged into the main product installation database.

InstallShield enables you to create your own merge modules that can be used in any of your installation projects or distributed for use by other installation developers.

The most important step in creating your merge module lies in its design. To have a well-designed merge module, you need to break up your files into components, which constitute the developer’s perspective of the project. Unlike creating a complete installation with features, components, and files, a merge module contains only components, which, in turn, contain files.

The major aspects involved in creating a merge module are listed below.

Major Aspects of Merge Module Creation

Merge Module Element

Description

Components

Enable you to group your application data together. They constitute the developer’s view of a project—containing data such as files, registry entries, and shortcuts. The Components view is where you design the components for your merge module.

Files, registry data, and shortcuts

Elements that are added to a component to complete the hierarchy, as described above.

Advanced settings

Enable you to publish your component, register COM servers, file extension servers, and MIME types. You can also use the component’s advanced settings to create an application paths entry in the registry.

This section includes the following topics:

Creating a Merge Module Project
Specifying the Default Destination Folder for a Merge Module
Selecting the Merge Module Language
Adding Dependencies to Merge Modules
Adding Exclusions to Merge Modules
Publishing a Merge Module to a Repository from Within a Merge Module Project