SlideShare a Scribd company logo
1 of 6
Download to read offline
W H I T E PA P E R




                     Introducing Merge Modules
                     by Robert Dickau
                     Principal Technical Training Writer, Flexera Software
Introducing Merge Modules
    Introduction                                                        make it available for all of the installer developers.
    Merge Modules support the easy creation of suite installers,      • Save common installer functionality, such as License
    subinstallers, and templates, delivering reusability from           Agreement panels and Custom User Input panels, into
    project to project, within development teams, across the            Merge Modules to simplify future installer
    enterprise, or from third-party providers. This white paper         project creation.
    discusses the benefits of Merge Modules and the different
    Merge Module types. It also describes how to create Merge         • Combine Merge Modules from third-party software
    Modules using InstallAnywhere from Flexera Software.                packages to build complex software “Solutions”,
                                                                        without having to figure out how to install each
                                                                        individual package.
       Learn More about InstallAnywhere                               • Use a Merge Module as the starting point for a new
       If you wish to learn more about the capabilities                 installer project. These Merge Modules are referred to
       of InstallAnywhere and download a free                           as Templates, and are covered in another section.
       evaluation, please visit the Flexera Software Web
                                                                      • Any installer project can be built into a Merge Module.
       site at www.flexerasoftware.com/installanywhere.
                                                                        And any Merge Module can be used within any other
                                                                        installer project.
    Merge Modules                                                     • Merge Modules are created as an option through the
    Merge Modules are essentially installer sub-projects that can       installer build process. Since a Merge Module contains
    be created independently of one another and later merged            all of the resources for a project, it is just like building
    together. Like an installer, a Merge Module is a reusable           an installer. They can be built automatically when the
    collection of installation functionality, complete with             installer is built, or they can be explicitly built from the
    features, components, panels, actions, and files. However,          Advanced Designer (check the Build Merge Module
    a Merge Module cannot be installed on its own; instead,             option on the Build task, under the Distribution tab) or
    developers use Merge Modules when they want to include              from the command line (use the +merge option).
    the functionality of one installer within another installer.
                                                                    Merge Modules can be merged into an existing installer in
    Merge Modules provide many benefits and provide solutions       one of two ways:
    to complex installation requirements. For instance:               • In the Organization > Modules task, click Import
      • Combine several Merge Modules from different products           Merge Module to merge a merge module into the
        to create a “Suite Installer.”                                  current installer. All of the merge module’s features,
                                                                        components, files, actions, and panels (optionally)
      • Independent development teams in different locations
                                                                        will be combined into the current project, enabling
        can create Merge Modules for different software
                                                                        developers to further customize any settings.
        components. A release engineer can combine those
        Merge Modules into a single product installer.                • Merge Modules can also be installed as self-contained
                                                                        subinstaller units, without merging them into the
      • Create self-contained units of installer functionality
                                                                        current project. This is useful if developers do not know
        for reuse in future installer projects. For instance, if
                                                                        what will be in a Merge Module, or they will not be
        the same software component needs to be in several
                                                                        modifying any settings. Merge Modules added in this
        different installers, build it into a Merge Module and
                                                                        manner are run as silent subinstallers.

2                                                                             Flexera Software: InstallAnywhere White Paper Series
Introducing Merge Modules




Merge Modules can be integrated with a project in one of          projects may be added and removed; however, any
two ways:                                                         changes that are made once they’ve been imported will be
                                                                  lost if you remove a merged project from the suite.
  • Use the Install Merge Module action and select Bundle
    Merge Module at Build Time, if the merge module is
                                                                  For example, if you were to import a Merge Module into
    available when ready to build the installer. These
                                                                  your master installer and then modify a few panels, when
    Merge Modules will be included in the actual generated
                                                                  you save the project, those changes will be saved. If you
    installer.
                                                                  remove the imported Merge Module from the suite, all of
  • Use the Install Merge Module action and select Locate         these changes will be lost, regardless of how many times
    Merge Module at Install Time to have the installer install    your main installer project is saved.
    a Merge Module that is available at install time, but
    external to the installer. The Merge Module can be            Design-time Merge Modules display all panels you add to
    either on the end user’s system or stored on a CD. If         the project. They are the only Merge Module type that is not
    the location is a folder that contains several Merge          run silently.
    Modules, they will all be installed.
                                                                  Note: Only non-optimized Merge Modules may be imported
Other important facts about Merge Modules:                        as Design-Time Merge Modules.
  • Read-Only option: Merge Modules can be locked,
    preventing them from being opened, used as templates,         Build-time Merge Modules
    or being merged into an installer. Read-Only Merge            A Build-time Merge Module is a Merge Module that is
    Modules can only be installed as a self-contained             included in your installer at build time, and installed by the
    installer unit.                                               master installer. Unlike Install Time Merge Modules, Build-
                                                                  time Merge Modules are included with the master installer
  • Optimize Merge Module Size by Platform option:
                                                                  when you build the installer project. At install time, the
    Separate Merge Modules will be created for each
                                                                  Master Installer will install the Build-time Merge Module.
    platform. Each will only contain the resources needed
                                                                  To specify that the Merge Module be Build Time, select the
    for that specific platform. Do not use this option if
                                                                  option labeled Bundle Merge Module at Build Time from the
    Merge Modules will be imported into another installer.
                                                                  Install Merge Module action customizer and pick a Merge
    Importing a Merge Module requires a non-optimized
                                                                  Module with the Choose Merge Module button.
    merge module.
  • Advertised Variables: These are InstallAnywhere               Build-time Merge Modules are packaged along with the
    variables that will be necessary to set before a Merge        master installer project in one .iap_xml file. Build Time
    Module can be installed using the Install Merge Module        Suite Installers can build a number of separate installers
    action. On the Build task, under the Distribution tab,        into a single executable. In this scenario, a single master
    click Edit Advertised Variables to add variables, set         installer runs a number of Merge Modules silently during
    default values, and add comments. Use Advertised              the installation process. The master installer is responsible
    Variables to inform master installers of settings required    for the user interface and for passing properties files
    for a Merge Modules configuration.                            to the Merge Modules so that they run with the correct
  • InstallAnywhere Variables can be passed to the merge          configuration information. The Merge Modules may also
    module when using the Install Merge Module action.            advertise specific properties they require to operate
    Only selected variables will be passed to the merge           properly.
    module. By default, any Advertised Variable set by the
    Merge Module (Advertised Variables are set when the           Install-time Merge Modules
    module is built) will be automatically passed in. Specific    An Install-time Merge Module is a Merge Module that is
    variables can also be passed in through the customizer        executed by the main installer at install time. Install-time
    of the Merge Module. For example, if the Magic Folder         Merge Modules are external to the main installer project. At
    variable $IA_PROJECT_DIR$ was advertised by the               install time, the master installer looks for the Merge Module
    Merge Module, it will be passed in. If the variable           at the specified path and launches whatever Merge Module
    $OTHER_VARIABLE$ was not advertised, but was set in           it finds there. If the Install Time Merge Module path points
    the customizer of the Install Merge Module action, it, too    to a directory then all Merge Modules contained in that
    would be passed in.                                           directory will be installed. This enables Suite installers to
                                                                  be updated without having to update the master installer
Merge Module Types                                                package.
Design-time Merge Modules
Use Design-time Merge Modules to integrate a Merge                To specify that the Merge Module will be an install
Module into your main installer project. Once a Merge             time Merge Module, select the Locate Merge Module at
Module has been imported, it is fully integrated into your        Install Time option from the Install Merge Module action
master project file; all files, actions, and panels will appear   customizer and then put a path in the text field next to it.
as if they were a part of your main installer project. Merged

Flexera Software: InstallAnywhere White Paper Series                                                                                 3
Introducing Merge Modules




    Dynamic Merge Modules                                              project using the Project > Modules task.
    Merge Modules can be configured to be dynamic, meaning
    that the InstallAnywhere Advanced Designer will check for          Advertised Variables
    updates to the imported module at load and build time.             Advertised Variables are a list of all variables in a Merge
                                                                       Module installer project. The main installer project can pass
    To use a dynamic Merge Module, you must first have built           InstallAnywhere variables to a Merge Module at install time.
    your sub component as a Merge Module, without the “Read            The Merge Module will then use these variables as regular
    Only” flag. Then, in the Organization > Modules task, click        InstallAnywhere variables.
    Import Dynamic Merge Module to merge the component into
    the current installer. All of the merge module’s files, actions,
    and panels (optionally) will be combined into current
    project. The actions will appear as in an action group in
    Pre-Install and Post-install.

    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. This enables
    another group to continue parallel development on a Merge
    Module and its components, with those changes coming into
    the master installer automatically at build time.

    Note: Merge modules cannot be authenticated. If you need
    authentication for a Merge Module, add it to your main
    installer project. The Merge Module will then inherit this
    setting during the installation.

    Creating Merge Modules
    You create merge modules much in the same way as regular           There may be cases “however” when the Merge Module
    installers are created. Add any panels, actions, and rules         cannot run without already having had some variables
    just as you would for a typical installer project, then before     set. Those variables should be “advertised” so the Merge
    building in Build > Distribution > Merge Module/Template           Module can be configured easily. To do this, click Edit
    Option select Build Merge Module/Template. Once Merge              Advertised Variables on the build settings tab and set up
    Modules are built, they have almost the same contents as           your variables.
    a regular installer project, except they do not contain an
    IAClasses.zip file or a launcher.

    Build Options
    When you have an InstallAnywhere project ready to be
    made into a merge module, go to the Build > Distribution >
    Merge Module/Template Option. Select Build Merge Module/
    Template. Build options are used to optimize the size of the
    merge module, define whether it is to be read only, and edit
    the advertised variables for the merge module.
                                                                       Now, if you go to the main installer project, add a Merge
    Merge Module Size                                                  Module, and look at the settings for variables that will be
    Merge modules will contain an approximation of their               passed to the Merge Module, you will see that the names of
    required size (based on the largest amount of space any            advertised variables have been added to your list and some
    given module could need), but you may override this size           may have been set to default values. Change the values as
    with your own calculation by setting an advertised variable.       required, and these will be passed to the Merge Module at
    The variable $DISK_SPACE_REQUIRED$ may be set to                   install time.
    override the automatic approximation.
                                                                       To add advertised variables, go to the Build task and then
    Creating Merge Modules as Read Only                                select Build Settings. Click Edit Advertised Variables. The
    You have the option of designating Merge Modules as                Edit Advertised Variables dialog box appears.
    read-only. This option protects the integrity of the Merge
    Modules; the only way it can be added to an installer              In the Edit Advertised Variables dialog box, list all variables
    project is through the Install Merge Module action. This           to be set in the installer project.
    type of module cannot be integrated with the main installer

4                                                                               Flexera Software: InstallAnywhere White Paper Series
Introducing Merge Modules




The variable name is the same as it was defined for the
Merge Module. The value is the corresponding value in the
main installer project.

For example, if you included the common Magic Folder $IA_
PROJECT_DIR$ in your Merge Module, and you wanted that
to correspond with the value of $IA_PROJECT_DIR$ in the
main installer project, the variable name and value would
both be $IA_PROJECT_DIR$.

Note: Variables in InstallAnywhere must be expressed with
dollar signs ($) on either side.

To add your own variables to be passed to a merge module,
go to the customizer for the Install Merge Module action in
the designer, and click Edit Variables to add some variables.

Summary
This white paper discussed the benefits of Merge Modules
and the different Merge Module types. It also described
how to create Merge Modules using InstallAnywhere from
Flexera Software.


  Begin a Free Evaluation of InstallAnywhere
  You can download a free trial version of InstallAnywhere from
  the Flexera Software Web site at:
  www.flexerasoftware.com/installanywhere/eval.




  Learn More Best Practices for Building Quality Installations
  Join an InstallAnywhere training class – visit
  www.flexerasoftware.com/training for available classes.

  Also, if you have a critical installation project but are short
  on developer bandwidth or expertise, Flexera Software’s
  Professional Services team can help. Learn more at:
  www.flexerasoftware.com/services/consulting/software-
  installations.htm.




Flexera Software: InstallAnywhere White Paper Series                                            5
Flexera Software LLC                      Schaumburg                                United Kingdom (Europe,                   Japan (Asia,                              For more office locations visit:
1000 East Woodfield Road,                 (Global Headquarters):                    Middle East Headquarters):                Pacific Headquarters):                    www.flexerasoftware.com
Suite 400                                 +1 800-809-5659                           +44 870-871-1111                          +81 3-4360-8291
Schaumburg, IL 60173 USA                                                            +44 870-873-6300

Copyright © 2011 Flexera Software LLC. All other brand and product names mentioned herein may be the trademarks and registered trademarks of their respective owners.
                                                                                                                                                                          IA_WP_Merge-Modules_Oct11

More Related Content

Viewers also liked

Onlinetoekomst voor Netwerk (NCRV/EO)
Onlinetoekomst voor Netwerk (NCRV/EO)Onlinetoekomst voor Netwerk (NCRV/EO)
Onlinetoekomst voor Netwerk (NCRV/EO)guest8abb13
 
Juniper Netscreen模拟实例配置PPT
Juniper Netscreen模拟实例配置PPTJuniper Netscreen模拟实例配置PPT
Juniper Netscreen模拟实例配置PPTmickchen
 
Certificacion a grado 2012-II TSU GSDL
Certificacion a grado 2012-II TSU GSDLCertificacion a grado 2012-II TSU GSDL
Certificacion a grado 2012-II TSU GSDLDavid Leon Sicilia
 
Turning Customer Usage Data into Valuable Business Intelligence
Turning Customer Usage Data into Valuable Business IntelligenceTurning Customer Usage Data into Valuable Business Intelligence
Turning Customer Usage Data into Valuable Business IntelligenceFlexera
 
Welcome to Care2
Welcome to Care2Welcome to Care2
Welcome to Care2gladcare2
 
CERTIFICADOS A GRADO 2013-I ESTUDIOS JURIDICOS
CERTIFICADOS A GRADO 2013-I ESTUDIOS JURIDICOSCERTIFICADOS A GRADO 2013-I ESTUDIOS JURIDICOS
CERTIFICADOS A GRADO 2013-I ESTUDIOS JURIDICOSDavid Leon Sicilia
 
How can you Monetize the Internet of Things?
How can you Monetize the Internet of Things?How can you Monetize the Internet of Things?
How can you Monetize the Internet of Things?Flexera
 
ACIES: Introduction to Infinity Planning 20130226rl
ACIES: Introduction to Infinity Planning 20130226rlACIES: Introduction to Infinity Planning 20130226rl
ACIES: Introduction to Infinity Planning 20130226rlHOPE Serviços
 

Viewers also liked (15)

Iim 1
Iim 1Iim 1
Iim 1
 
Onlinetoekomst voor Netwerk (NCRV/EO)
Onlinetoekomst voor Netwerk (NCRV/EO)Onlinetoekomst voor Netwerk (NCRV/EO)
Onlinetoekomst voor Netwerk (NCRV/EO)
 
Juniper Netscreen模拟实例配置PPT
Juniper Netscreen模拟实例配置PPTJuniper Netscreen模拟实例配置PPT
Juniper Netscreen模拟实例配置PPT
 
Certificacion a grado 2012-II TSU GSDL
Certificacion a grado 2012-II TSU GSDLCertificacion a grado 2012-II TSU GSDL
Certificacion a grado 2012-II TSU GSDL
 
Les bv2
Les bv2Les bv2
Les bv2
 
Turning Customer Usage Data into Valuable Business Intelligence
Turning Customer Usage Data into Valuable Business IntelligenceTurning Customer Usage Data into Valuable Business Intelligence
Turning Customer Usage Data into Valuable Business Intelligence
 
Welcome to Care2
Welcome to Care2Welcome to Care2
Welcome to Care2
 
Forest week belgium
Forest week belgiumForest week belgium
Forest week belgium
 
Tsucs
TsucsTsucs
Tsucs
 
Final report
Final reportFinal report
Final report
 
CERTIFICADOS A GRADO 2013-I ESTUDIOS JURIDICOS
CERTIFICADOS A GRADO 2013-I ESTUDIOS JURIDICOSCERTIFICADOS A GRADO 2013-I ESTUDIOS JURIDICOS
CERTIFICADOS A GRADO 2013-I ESTUDIOS JURIDICOS
 
Turkey report
Turkey reportTurkey report
Turkey report
 
How can you Monetize the Internet of Things?
How can you Monetize the Internet of Things?How can you Monetize the Internet of Things?
How can you Monetize the Internet of Things?
 
Islandia, Wyspa
Islandia, WyspaIslandia, Wyspa
Islandia, Wyspa
 
ACIES: Introduction to Infinity Planning 20130226rl
ACIES: Introduction to Infinity Planning 20130226rlACIES: Introduction to Infinity Planning 20130226rl
ACIES: Introduction to Infinity Planning 20130226rl
 

More from Flexera

Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...Flexera
 
Make Smarter Cloud Decisions at Every Step of Your Journey
Make Smarter Cloud Decisions at Every Step of Your JourneyMake Smarter Cloud Decisions at Every Step of Your Journey
Make Smarter Cloud Decisions at Every Step of Your JourneyFlexera
 
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
10 Tips to Optimize, Automate, and Govern your Hybrid IT EnvironmentFlexera
 
Using Automated Policies for SaaS Governance and Compliance
Using Automated Policies for SaaS Governance and ComplianceUsing Automated Policies for SaaS Governance and Compliance
Using Automated Policies for SaaS Governance and ComplianceFlexera
 
The Practical Approach for End-to-End SaaS Management
The Practical Approach for End-to-End SaaS ManagementThe Practical Approach for End-to-End SaaS Management
The Practical Approach for End-to-End SaaS ManagementFlexera
 
7 Things You Need to Know for Your Cloud-First Strategy
7 Things You Need to Know for Your Cloud-First Strategy7 Things You Need to Know for Your Cloud-First Strategy
7 Things You Need to Know for Your Cloud-First StrategyFlexera
 
The Role of In-House & External Counsel in Managing Open Source Software
The Role of In-House & External Counsel in Managing Open Source SoftwareThe Role of In-House & External Counsel in Managing Open Source Software
The Role of In-House & External Counsel in Managing Open Source SoftwareFlexera
 
Addressing Open Source Risks During M&A: A Legal View
Addressing Open Source Risks During M&A: A Legal ViewAddressing Open Source Risks During M&A: A Legal View
Addressing Open Source Risks During M&A: A Legal ViewFlexera
 
Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!Flexera
 
Webinar: Maximizing the ROI of IT by Simplifying Technology Complexity
Webinar: Maximizing the ROI of IT by Simplifying Technology ComplexityWebinar: Maximizing the ROI of IT by Simplifying Technology Complexity
Webinar: Maximizing the ROI of IT by Simplifying Technology ComplexityFlexera
 
Webinar: What's New In FlexNet Manager Suite 2018 R1
Webinar: What's New In FlexNet Manager Suite 2018 R1Webinar: What's New In FlexNet Manager Suite 2018 R1
Webinar: What's New In FlexNet Manager Suite 2018 R1Flexera
 
Open Source Security - It can be done easily.
Open Source Security - It can be done easily.Open Source Security - It can be done easily.
Open Source Security - It can be done easily.Flexera
 
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...Flexera
 
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709Flexera
 
Don’t Let Hackers Breach Your Data: Shutting Your Risk Window on Apache Struts2
Don’t Let Hackers Breach Your Data:  Shutting Your Risk Window on Apache Struts2Don’t Let Hackers Breach Your Data:  Shutting Your Risk Window on Apache Struts2
Don’t Let Hackers Breach Your Data: Shutting Your Risk Window on Apache Struts2Flexera
 
BDNA joins Flexera
BDNA joins FlexeraBDNA joins Flexera
BDNA joins FlexeraFlexera
 
Flexera Event - The Game Has Changed - Are You Ready?
Flexera Event - The Game Has Changed - Are You Ready?Flexera Event - The Game Has Changed - Are You Ready?
Flexera Event - The Game Has Changed - Are You Ready?Flexera
 
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...Flexera
 
Keeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
Keeping a Lid on Costs for Cloud Infrastructure and SaaS ApplicationsKeeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
Keeping a Lid on Costs for Cloud Infrastructure and SaaS ApplicationsFlexera
 
Do You Manage Software? Understanding Your Role in Cybersecurity Defense
Do You Manage Software? Understanding Your Role in Cybersecurity DefenseDo You Manage Software? Understanding Your Role in Cybersecurity Defense
Do You Manage Software? Understanding Your Role in Cybersecurity DefenseFlexera
 

More from Flexera (20)

Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
Get a Complete View of Your Business Services and IT Estate in ServiceNow wit...
 
Make Smarter Cloud Decisions at Every Step of Your Journey
Make Smarter Cloud Decisions at Every Step of Your JourneyMake Smarter Cloud Decisions at Every Step of Your Journey
Make Smarter Cloud Decisions at Every Step of Your Journey
 
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
10 Tips to Optimize, Automate, and Govern your Hybrid IT Environment
 
Using Automated Policies for SaaS Governance and Compliance
Using Automated Policies for SaaS Governance and ComplianceUsing Automated Policies for SaaS Governance and Compliance
Using Automated Policies for SaaS Governance and Compliance
 
The Practical Approach for End-to-End SaaS Management
The Practical Approach for End-to-End SaaS ManagementThe Practical Approach for End-to-End SaaS Management
The Practical Approach for End-to-End SaaS Management
 
7 Things You Need to Know for Your Cloud-First Strategy
7 Things You Need to Know for Your Cloud-First Strategy7 Things You Need to Know for Your Cloud-First Strategy
7 Things You Need to Know for Your Cloud-First Strategy
 
The Role of In-House & External Counsel in Managing Open Source Software
The Role of In-House & External Counsel in Managing Open Source SoftwareThe Role of In-House & External Counsel in Managing Open Source Software
The Role of In-House & External Counsel in Managing Open Source Software
 
Addressing Open Source Risks During M&A: A Legal View
Addressing Open Source Risks During M&A: A Legal ViewAddressing Open Source Risks During M&A: A Legal View
Addressing Open Source Risks During M&A: A Legal View
 
Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!Having Trouble Managing All Your Cloud Services? We Know!
Having Trouble Managing All Your Cloud Services? We Know!
 
Webinar: Maximizing the ROI of IT by Simplifying Technology Complexity
Webinar: Maximizing the ROI of IT by Simplifying Technology ComplexityWebinar: Maximizing the ROI of IT by Simplifying Technology Complexity
Webinar: Maximizing the ROI of IT by Simplifying Technology Complexity
 
Webinar: What's New In FlexNet Manager Suite 2018 R1
Webinar: What's New In FlexNet Manager Suite 2018 R1Webinar: What's New In FlexNet Manager Suite 2018 R1
Webinar: What's New In FlexNet Manager Suite 2018 R1
 
Open Source Security - It can be done easily.
Open Source Security - It can be done easily.Open Source Security - It can be done easily.
Open Source Security - It can be done easily.
 
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
Software Distribution, Customer Experience and the IoT: Get Ready for Fast, S...
 
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
Windows 10 webinar: What’s new for IT pros Windows 10 v 1709
 
Don’t Let Hackers Breach Your Data: Shutting Your Risk Window on Apache Struts2
Don’t Let Hackers Breach Your Data:  Shutting Your Risk Window on Apache Struts2Don’t Let Hackers Breach Your Data:  Shutting Your Risk Window on Apache Struts2
Don’t Let Hackers Breach Your Data: Shutting Your Risk Window on Apache Struts2
 
BDNA joins Flexera
BDNA joins FlexeraBDNA joins Flexera
BDNA joins Flexera
 
Flexera Event - The Game Has Changed - Are You Ready?
Flexera Event - The Game Has Changed - Are You Ready?Flexera Event - The Game Has Changed - Are You Ready?
Flexera Event - The Game Has Changed - Are You Ready?
 
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
Webinar: Take Proactive Control of Your SAP Licensing, Indirect Usage and Ven...
 
Keeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
Keeping a Lid on Costs for Cloud Infrastructure and SaaS ApplicationsKeeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
Keeping a Lid on Costs for Cloud Infrastructure and SaaS Applications
 
Do You Manage Software? Understanding Your Role in Cybersecurity Defense
Do You Manage Software? Understanding Your Role in Cybersecurity DefenseDo You Manage Software? Understanding Your Role in Cybersecurity Defense
Do You Manage Software? Understanding Your Role in Cybersecurity Defense
 

Recently uploaded

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Recently uploaded (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

Introducing Merge Modules

  • 1. W H I T E PA P E R Introducing Merge Modules by Robert Dickau Principal Technical Training Writer, Flexera Software
  • 2. Introducing Merge Modules Introduction make it available for all of the installer developers. Merge Modules support the easy creation of suite installers, • Save common installer functionality, such as License subinstallers, and templates, delivering reusability from Agreement panels and Custom User Input panels, into project to project, within development teams, across the Merge Modules to simplify future installer enterprise, or from third-party providers. This white paper project creation. discusses the benefits of Merge Modules and the different Merge Module types. It also describes how to create Merge • Combine Merge Modules from third-party software Modules using InstallAnywhere from Flexera Software. packages to build complex software “Solutions”, without having to figure out how to install each individual package. Learn More about InstallAnywhere • Use a Merge Module as the starting point for a new If you wish to learn more about the capabilities installer project. These Merge Modules are referred to of InstallAnywhere and download a free as Templates, and are covered in another section. evaluation, please visit the Flexera Software Web • Any installer project can be built into a Merge Module. site at www.flexerasoftware.com/installanywhere. And any Merge Module can be used within any other installer project. Merge Modules • Merge Modules are created as an option through the Merge Modules are essentially installer sub-projects that can installer build process. Since a Merge Module contains be created independently of one another and later merged all of the resources for a project, it is just like building together. Like an installer, a Merge Module is a reusable an installer. They can be built automatically when the collection of installation functionality, complete with installer is built, or they can be explicitly built from the features, components, panels, actions, and files. However, Advanced Designer (check the Build Merge Module a Merge Module cannot be installed on its own; instead, option on the Build task, under the Distribution tab) or developers use Merge Modules when they want to include from the command line (use the +merge option). the functionality of one installer within another installer. Merge Modules can be merged into an existing installer in Merge Modules provide many benefits and provide solutions one of two ways: to complex installation requirements. For instance: • In the Organization > Modules task, click Import • Combine several Merge Modules from different products Merge Module to merge a merge module into the to create a “Suite Installer.” current installer. All of the merge module’s features, components, files, actions, and panels (optionally) • Independent development teams in different locations will be combined into the current project, enabling can create Merge Modules for different software developers to further customize any settings. components. A release engineer can combine those Merge Modules into a single product installer. • Merge Modules can also be installed as self-contained subinstaller units, without merging them into the • Create self-contained units of installer functionality current project. This is useful if developers do not know for reuse in future installer projects. For instance, if what will be in a Merge Module, or they will not be the same software component needs to be in several modifying any settings. Merge Modules added in this different installers, build it into a Merge Module and manner are run as silent subinstallers. 2 Flexera Software: InstallAnywhere White Paper Series
  • 3. Introducing Merge Modules Merge Modules can be integrated with a project in one of projects may be added and removed; however, any two ways: changes that are made once they’ve been imported will be lost if you remove a merged project from the suite. • Use the Install Merge Module action and select Bundle Merge Module at Build Time, if the merge module is For example, if you were to import a Merge Module into available when ready to build the installer. These your master installer and then modify a few panels, when Merge Modules will be included in the actual generated you save the project, those changes will be saved. If you installer. remove the imported Merge Module from the suite, all of • Use the Install Merge Module action and select Locate these changes will be lost, regardless of how many times Merge Module at Install Time to have the installer install your main installer project is saved. a Merge Module that is available at install time, but external to the installer. The Merge Module can be Design-time Merge Modules display all panels you add to either on the end user’s system or stored on a CD. If the project. They are the only Merge Module type that is not the location is a folder that contains several Merge run silently. Modules, they will all be installed. Note: Only non-optimized Merge Modules may be imported Other important facts about Merge Modules: as Design-Time Merge Modules. • Read-Only option: Merge Modules can be locked, preventing them from being opened, used as templates, Build-time Merge Modules or being merged into an installer. Read-Only Merge A Build-time Merge Module is a Merge Module that is Modules can only be installed as a self-contained included in your installer at build time, and installed by the installer unit. master installer. Unlike Install Time Merge Modules, Build- time Merge Modules are included with the master installer • Optimize Merge Module Size by Platform option: when you build the installer project. At install time, the Separate Merge Modules will be created for each Master Installer will install the Build-time Merge Module. platform. Each will only contain the resources needed To specify that the Merge Module be Build Time, select the for that specific platform. Do not use this option if option labeled Bundle Merge Module at Build Time from the Merge Modules will be imported into another installer. Install Merge Module action customizer and pick a Merge Importing a Merge Module requires a non-optimized Module with the Choose Merge Module button. merge module. • Advertised Variables: These are InstallAnywhere Build-time Merge Modules are packaged along with the variables that will be necessary to set before a Merge master installer project in one .iap_xml file. Build Time Module can be installed using the Install Merge Module Suite Installers can build a number of separate installers action. On the Build task, under the Distribution tab, into a single executable. In this scenario, a single master click Edit Advertised Variables to add variables, set installer runs a number of Merge Modules silently during default values, and add comments. Use Advertised the installation process. The master installer is responsible Variables to inform master installers of settings required for the user interface and for passing properties files for a Merge Modules configuration. to the Merge Modules so that they run with the correct • InstallAnywhere Variables can be passed to the merge configuration information. The Merge Modules may also module when using the Install Merge Module action. advertise specific properties they require to operate Only selected variables will be passed to the merge properly. module. By default, any Advertised Variable set by the Merge Module (Advertised Variables are set when the Install-time Merge Modules module is built) will be automatically passed in. Specific An Install-time Merge Module is a Merge Module that is variables can also be passed in through the customizer executed by the main installer at install time. Install-time of the Merge Module. For example, if the Magic Folder Merge Modules are external to the main installer project. At variable $IA_PROJECT_DIR$ was advertised by the install time, the master installer looks for the Merge Module Merge Module, it will be passed in. If the variable at the specified path and launches whatever Merge Module $OTHER_VARIABLE$ was not advertised, but was set in it finds there. If the Install Time Merge Module path points the customizer of the Install Merge Module action, it, too to a directory then all Merge Modules contained in that would be passed in. directory will be installed. This enables Suite installers to be updated without having to update the master installer Merge Module Types package. Design-time Merge Modules Use Design-time Merge Modules to integrate a Merge To specify that the Merge Module will be an install Module into your main installer project. Once a Merge time Merge Module, select the Locate Merge Module at Module has been imported, it is fully integrated into your Install Time option from the Install Merge Module action master project file; all files, actions, and panels will appear customizer and then put a path in the text field next to it. as if they were a part of your main installer project. Merged Flexera Software: InstallAnywhere White Paper Series 3
  • 4. Introducing Merge Modules Dynamic Merge Modules project using the Project > Modules task. Merge Modules can be configured to be dynamic, meaning that the InstallAnywhere Advanced Designer will check for Advertised Variables updates to the imported module at load and build time. Advertised Variables are a list of all variables in a Merge Module installer project. The main installer project can pass To use a dynamic Merge Module, you must first have built InstallAnywhere variables to a Merge Module at install time. your sub component as a Merge Module, without the “Read The Merge Module will then use these variables as regular Only” flag. Then, in the Organization > Modules task, click InstallAnywhere variables. Import Dynamic Merge Module to merge the component into the current installer. All of the merge module’s files, actions, and panels (optionally) will be combined into current project. The actions will appear as in an action group in Pre-Install and Post-install. 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. This enables another group to continue parallel development on a Merge Module and its components, with those changes coming into the master installer automatically at build time. Note: Merge modules cannot be authenticated. If you need authentication for a Merge Module, add it to your main installer project. The Merge Module will then inherit this setting during the installation. Creating Merge Modules You create merge modules much in the same way as regular There may be cases “however” when the Merge Module installers are created. Add any panels, actions, and rules cannot run without already having had some variables just as you would for a typical installer project, then before set. Those variables should be “advertised” so the Merge building in Build > Distribution > Merge Module/Template Module can be configured easily. To do this, click Edit Option select Build Merge Module/Template. Once Merge Advertised Variables on the build settings tab and set up Modules are built, they have almost the same contents as your variables. a regular installer project, except they do not contain an IAClasses.zip file or a launcher. Build Options When you have an InstallAnywhere project ready to be made into a merge module, go to the Build > Distribution > Merge Module/Template Option. Select Build Merge Module/ Template. Build options are used to optimize the size of the merge module, define whether it is to be read only, and edit the advertised variables for the merge module. Now, if you go to the main installer project, add a Merge Merge Module Size Module, and look at the settings for variables that will be Merge modules will contain an approximation of their passed to the Merge Module, you will see that the names of required size (based on the largest amount of space any advertised variables have been added to your list and some given module could need), but you may override this size may have been set to default values. Change the values as with your own calculation by setting an advertised variable. required, and these will be passed to the Merge Module at The variable $DISK_SPACE_REQUIRED$ may be set to install time. override the automatic approximation. To add advertised variables, go to the Build task and then Creating Merge Modules as Read Only select Build Settings. Click Edit Advertised Variables. The You have the option of designating Merge Modules as Edit Advertised Variables dialog box appears. read-only. This option protects the integrity of the Merge Modules; the only way it can be added to an installer In the Edit Advertised Variables dialog box, list all variables project is through the Install Merge Module action. This to be set in the installer project. type of module cannot be integrated with the main installer 4 Flexera Software: InstallAnywhere White Paper Series
  • 5. Introducing Merge Modules The variable name is the same as it was defined for the Merge Module. The value is the corresponding value in the main installer project. For example, if you included the common Magic Folder $IA_ PROJECT_DIR$ in your Merge Module, and you wanted that to correspond with the value of $IA_PROJECT_DIR$ in the main installer project, the variable name and value would both be $IA_PROJECT_DIR$. Note: Variables in InstallAnywhere must be expressed with dollar signs ($) on either side. To add your own variables to be passed to a merge module, go to the customizer for the Install Merge Module action in the designer, and click Edit Variables to add some variables. Summary This white paper discussed the benefits of Merge Modules and the different Merge Module types. It also described how to create Merge Modules using InstallAnywhere from Flexera Software. Begin a Free Evaluation of InstallAnywhere You can download a free trial version of InstallAnywhere from the Flexera Software Web site at: www.flexerasoftware.com/installanywhere/eval. Learn More Best Practices for Building Quality Installations Join an InstallAnywhere training class – visit www.flexerasoftware.com/training for available classes. Also, if you have a critical installation project but are short on developer bandwidth or expertise, Flexera Software’s Professional Services team can help. Learn more at: www.flexerasoftware.com/services/consulting/software- installations.htm. Flexera Software: InstallAnywhere White Paper Series 5
  • 6. Flexera Software LLC Schaumburg United Kingdom (Europe, Japan (Asia, For more office locations visit: 1000 East Woodfield Road, (Global Headquarters): Middle East Headquarters): Pacific Headquarters): www.flexerasoftware.com Suite 400 +1 800-809-5659 +44 870-871-1111 +81 3-4360-8291 Schaumburg, IL 60173 USA +44 870-873-6300 Copyright © 2011 Flexera Software LLC. All other brand and product names mentioned herein may be the trademarks and registered trademarks of their respective owners. IA_WP_Merge-Modules_Oct11