Merge Modules PageCopy link to this sectionLink to this section copied!

Merge modules are simplified MSI packages that contain Windows Installer components, and setup logic to be included in any number of MSI packages. A merge module cannot be installed alone because it lacks some necessary database tables that are present in an installation database. Merge modules also contain additional tables that are unique to themselves. To install the information delivered by a merge module with an application; the module must first be merged into the application's .msi file. You can merge an MSI package with as many modules as you want.

Merge modules

Caution! The project to which you add a merge module and the module itself is merged at build time. Therefore, after the package is built the merge module is not a separate element anymore.

Advanced Installer is using the Merge Modules support provided by the MergeMod COM server. This functionality comes with the Windows Installer SDK, in the mergemod.dll file.

If this file is not present on your machine, Advanced Installer notifies you with an exception at build time. For installing the MergeMod COM server follow the next steps:

  • Download and install latest Windows Installer SDK from Microsoft Platform SDK.
  • Open a command prompt in folder "C:\Program Files (x86)\Windows Kits\8.0\bin\x86".
  • Call from command-line "regsvr32.exe mergemod.dll". The result must be "DllRegisterServer in mergemod.dll succeeded."

ImportantMake sure you call the "regsvr32.exe mergemod.dll" from an elevated Command Prompt.

NoteWhen you add a Merge Module, it is included in a feature and is displayed on the Organization page.

Adding a merge moduleCopy link to this sectionLink to this section copied!

Add Merge Module Use the [ Add Module... ] toolbar button, the “Add Module...” context menu item or press the Insert key. An Open File dialog appears where you can choose the module file to merge into your package. Advanced Installer extracts and displays some general information from the module.

NoteAdvanced Installer shows you the dependencies (if any) of a merge module, none are added automatically to the project, and no type of dependency check is made at build time. However, Advanced Installer checks for module exclusions; if you try to add two merge modules and one of them excludes the other, the former is excluded from the build.

Adding a Visual Studio merge moduleCopy link to this sectionLink to this section copied!

Add Visual Studio MSM Use the [ Add Visual Studio MSM ] toolbar button or the “Add Visual Studio MSM” context menu item. A special dialog appears where you can select the Visual Studio merge modules to be merged into your package.

NoteMost Visual Studio merge modules also require their corresponding policy MSM files.

Adding a merge module from the repositoryCopy link to this sectionLink to this section copied!

Use the “Add From Repository” context menu item. You can inspect the merge modules from the repository from the Repository Manager.

Exporting a merge module to the repositoryCopy link to this sectionLink to this section copied!

Use the “Move To Repository” context menu item. You can inspect the merge modules from the repository from the Repository Manager.

Adding an Advanced Installer merge moduleCopy link to this sectionLink to this section copied!

Add Advanced Installer MSM Use the [ Add Advanced Installer MSM ] toolbar button or the “Add Advanced Installer MSM” context menu item. A special dialog appears where you can select the Advanced Installer merge modules to be merged into your package.

Removing a merge moduleCopy link to this sectionLink to this section copied!

Remove Use the [ Delete ] toolbar button, the “Delete” list context menu item or press the Delete key while a merge module is selected.

Edit the merge module's propertiesCopy link to this sectionLink to this section copied!

Use the “Properties” option from the context menu while a merge module is selected. The Edit Module Properties Dialog appears.

Configuring the merge processCopy link to this sectionLink to this section copied!

Use the “Configure” context menu item or press the + key. The Configure Merge Module Dialog is displayed and allows you to configure the merge process.

You can create a merge module using a merge module project.

Explore the content of a merge moduleCopy link to this sectionLink to this section copied!

Sometimes you want to know for sure what is included in a merge module. If so, the “Explore in Advanced Installer” option from the context menu can help. It imports the merge module in a separated Advanced Installer AIP project where you can examine its content in details.

Add dependencies of a merge module to the projectCopy link to this sectionLink to this section copied!

Some merge modules are dependent on other merge modules. If this is the case, you can observe these dependencies in the Dependencies column of the Merge Module view. If you decide to also include these dependencies in your project, Advanced Installer can help. Option “Add dependencies” from context menu tries to add automatically the dependencies of the selected merge module into the project. To achieve this, a search is performed in the directory where the selected merge module is placed. If a dependency cannot be found when you are notified. You can add by yourself these missed dependencies using the method described in Adding a merge module section.

Low MSM CompatibilityCopy link to this sectionLink to this section copied!

Low MSM CompatibilityEnabling this option sets Advanced Installer to not include in the final package empty tables. This could result in breaking some custom actions from the included merge modules, that would try to use other predefined empty tables, which are not included in the output package.

Configure Merge Module DialogCopy link to this sectionLink to this section copied!

This dialog allows you to configure the merge process.

Configure Merge Module Dialog

GeneralCopy link to this sectionLink to this section copied!

FeatureCopy link to this sectionLink to this section copied!

You can select the feature that will contain the merge modules' components after the merge process ends. By default, it is the Main Feature (you can use the [ ... ] button to select another one). The Feature Picker Dialog will pop up, allowing you to select a feature to reference.

FolderCopy link to this sectionLink to this section copied!

You can select the parent folder for the merge module's "TARGETDIR" directory. By default, the Application Folder is selected. Use the [ ... ] button. The Folder Picker Dialog will pop up, allowing you to select a folder to reference.

NoteUsually the "TARGETDIR" folder of a merge module is ".". This means that all the files and folders from the merge module's "TARGETDIR" are going to the selected folder.

Edit Module Properties DialogCopy link to this sectionLink to this section copied!

This dialog allows you to select the source file of the currently selected merge module.

Merge Module Properties dialog

Source PathCopy link to this sectionLink to this section copied!

This field contains the actual path to the source file's location on the hard drive. You can use the [ ... ] button to select a different merge module source file.

TipSelecting a source file of a different merge module is equivalent to removing the current merge module and adding the new one in the Merge Modules Page.

Select Merge Modules dialogCopy link to this sectionLink to this section copied!

This dialog allows you to add predefined merge modules to your project. Simply select the merge modules you want and click [ OK ].

Visual Studio merge modulesCopy link to this sectionLink to this section copied!

Visual Studio provides multiple merge modules with application run-times. These merge modules can be redistributed with your package to make sure that your product works on target machines.

All Visual Studio merge modules are placed in the Program Files\Common Files\Merge Modules folder. You can add them to your project by using this dialog.

NoteTo register a merge module with Visual Studio you can use the "Register with Visual Studio" option in Registration Tab.

Advanced Installer merge modulesCopy link to this sectionLink to this section copied!

Through this dialog you can also add merge modules registered with Advanced Installer. These merge modules can be found in the ProgramData\Caphyon\Advanced Installer\Merge Modules folder.

NoteTo register a merge module with Advanced Installer you can use the "Register with Advanced Installer" option in Registration Tab.