InstallAnywhere 2020 SP1
Merge modules are essentially installer subprojects that can be created independently of one another and later merged together. Like an installer, a merge module is a reusable collection of installation functionality, complete with features, components, panels, actions, and files.
However, a merge module cannot be installed on its own; instead, developers use merge modules when they want to include the functionality of one installer within another installer.
Note • For instructions on creating merge modules, see Creating Merge Modules.
Benefits of Using Merge Modules
Merge modules provide many benefits and provide solutions to complex installation requirements. For instance:
Benefit |
Description |
Can Use to Create a Suite Installer |
Combine several merge modules from different products to create a “Suite Installer.” |
Can Be Used by Independent Development Teams |
Independent development teams in different locations can create merge modules for different software components. A release engineer can combine those merge modules into a single product installer. |
Self-Contained Units Can Be Reused in Future Installer Projects |
Create self-contained units of installer functionality for reuse in future installer projects. For instance, if the same software component needs to be in several different installers, build it into a merge module and make it available for all of the installer developers. |
Enables You to Store Common Installer Functionality |
Save common installer functionality, such as License Agreement panels and Custom User Input panels, into merge modules to simplify future installer project creation. |
Can Combine With Third-Party Software Packages |
Combine merge modules from third-party software packages to build complex software solutions, without having to figure out how to install each individual package. |
Using Third-Party Merge Modules
InstallAnywhere provides many third-party merge modules on its Web site.
• | Use as a template—You can use a merge module as the starting point for a new installer project. These merge modules are referred to as Templates, and are covered in another section. |
• | Combine with installer projects—Any installer project can be built into a merge module. And any merge module can be used within any other installer project. |
• | Create during installer build process—Merge modules are created as an option through the installer build process. Since a merge module contains all of the resources for a project, it is just like building an installer. They can be built automatically when the installer is built, or they can be explicitly built from the Advanced Designer (select the Build Merge Module/Template option, which is available on the Distribution subtab on the Build Configurations tab in the Build Installers view) or from the command line (use the +merge option). |
Methods to Add Merge Modules to an Existing Installer
Merge modules can be merged into an existing installer in one of three ways:
Method |
Description |
|||||||||
Import Dynamic Merge Module |
To merge a merge module into the current installer: On the Organization page, in the Modules view, click Import Dynamic Merge Module.
Dynamic merge modules are recommended if you have merge modules whose contents constantly change. A parent project will automatically refresh dynamic merge modules when the parent project is loaded and built. |
|||||||||
Import Merge Module |
To merge a static merge module into the current installer: On the Organization page, in the Modules view, click Import Merge Module.
|
|||||||||
Installed as Self-Contained Sub-Installer Units |
Merge modules can also be installed as self-contained sub-installer units, without merging them into the current project. This is useful if developers do not know what will be in a merge module, or they will not be modifying any settings. Merge modules that are added in this manner are run as silent sub-installers. |
Integrating Merge Modules Into Projects
Merge modules can be integrated with a project in one of two ways:
Method |
Description |
Bundle Merge Module at Build Time |
Use the Install Merge Module action and select Bundle Merge Module at Build Time, if the merge module is available when ready to build the installer. These merge modules will be included in the actual generated installer. |
Locate Merge Module at Install Time |
Use the Install Merge Module action and select Locate Merge Module at Install Time to have the installer install a merge module that is available at install time, but external to the installer. The merge module can be either on the end user's system or stored on a CD. If the location is a folder that contains several merge modules, they will all be installed. |
Note • Subinstallers (merge modules) are able to access the external resource bundle of their parent installer during uninstallation.
Size Limitations of Merge Modules
The size at which a merge module build fails depends on the amount of memory that is allocated to the build process. If the amount of memory that is allocated is very low, even small merge modules may fail.
You can specify the size of memory allocation using the lax.nl.java.option.java.heap.size.initial and lax.nl.java.option.java.heap.size.max properties in the build.lax file. They correspond to -Xms and -Xmx flags for the Java VM.
Property |
Code |
Heap Size Initial |
# LAX.NL.JAVA.OPTION.JAVA.HEAP.SIZE.INITIAL # ----------------------------------------- # the initial heap size for the Java VM
lax.nl.java.option.java.heap.size.initial=25165824 |
Heap Size Maximum |
# LAX.NL.JAVA.OPTION.JAVA.HEAP.SIZE.MAX # ------------------------------------- # the maximum heap size for the Java VM
lax.nl.java.option.java.heap.size.max=134217728 |
See Also
Uninstaller for Merge Modules and Multiple Products
InstallAnywhere 2020 SP1 Help LibraryJanuary 2020 |
Copyright Information | Flexera |