Merge modules are simplified MSI packages that contain Windows Installer components and setup logic to be included into any number of MSI packages. A merge module cannot be installed alone because its lacks some vital 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 a MSI package with as many modules as you want.
The project to which you add a merge module and the module
itself are 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 will notify 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 (at least October 2002 release).
- Open a command prompt in folder "C:\Program Files\Microsoft SDK\Bin".
- Call from command line "regsvr32.exe mergemod.dll". The result must be "DllRegisterServer in mergemod.dll succeeded".
Adding a merge module
Use the toolbar button, the “Add Module...”
context menu item or press the Insert key. An
Open File dialog will appear where you can choose the module file to
be merged into your package. Advanced Installer will extract and display some
general information from the module.
Although Advanced Installer will show you the dependencies (if any) of a merge
module, none will be added automatically to the project and no type of
dependency check will be made at build time. However, Advanced Installer will check
for module exclusions. If you try to add two merge modules and one of
them excludes the other, the former will be excluded from
build.
Adding a Visual Studio merge module
Use the toolbar button or the “Add Visual
Studio MSM” context menu item. A special dialog will appear
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 an Advanced Installer merge module
Use the
toolbar button or the
“Add Advanced Installer MSM” context menu item. A special
dialog will appear where you can select the Advanced Installer merge
modules to be merged into your package.
Removing a merge module
Use the
toolbar button, the “Delete” list context menu item or
press the Delete key while a merge module is
selected.
Edit the merge module's properties
Use the “Properties” option from the context menu while a merge modules is selected. The Edit Module Properties dialog will appear.
Configuring the merge process
Use the “Configure” context menu item or press the + key. The Configure Merge Module Dialog will be displayed and will allow 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 examin 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 this dependencies in the Dependencies column of the Merge Module view. If you decide to also include these dependecies in your project, Advanced Installer can help. Option “Add dependencies” from context menu tries to add automatically the dependecies of the selected merge module into the project. To achieve this, it is performed a search in the directory where the selected merge module is placed. If a dependency cannot be found then you will be notified. You can add by yourself these missed dependencies using the method described in Adding a merge module section.
Topics
- Configure Merge Module Dialog
Configure the merge process - Edit Module Properties Dialog
Merge Module Properties - Select Merge Modules dialog
Select predefined merge modules