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.
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."
Make sure you call the "regsvr32.exe mergemod.dll" from an elevated Command Prompt.
When you add a Merge Module, it is included in a feature and is displayed on the Organization page.
Adding a merge module
Use 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.toolbar button, the “Add Module...” context menu item or press the
Advanced 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 module
Use thetoolbar 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.
Most Visual Studio merge modules also require their corresponding policy MSM files.
Adding a merge module from the repository
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 repository
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 module
Use thetoolbar 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 module
Use the Delete key while a merge module is selected.toolbar button, the “Delete” list context menu item or press the
Edit the merge module's properties
Use the “Properties” option from the context menu while a merge module is selected. The Edit Module Properties dialog appears.
Configuring the merge process
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 module
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 project
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 Compatibility
Enabling 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 Dialog
Configure the merge process
- Edit Module Properties Dialog
Merge Module Properties
- Select Merge Modules dialog
Select predefined merge modules