MAKEMSI quickly and reliably creates MSI files in a non-programmatic way
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
[Bottom][Contents][Prev]: MapUserDir[Next]: Msi
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Source Code->Commands->MergeModule

The "MergeModule" Command

This command allows you to include merge modules created by MAKEMSI or available from other vendors such a Microsoft. Some (relatively few) merge modules require configuration.

You must have the "MergeMod.DLL" file installed for this command to function (you will be told if its missing).

By default there are some "standard" tables for which we will ignore any merge errors, you can add or remove tables from this list. If any errors were ignored then this will be reported in the HTML report.

MAKEMSI will report if there are any unsatisfied dependencies after merging all the modules you have requested (each modules merge log lists any dependencies it added).

Merge modules tend to be poorly written (MS or otherwise), you will probably wish to view the generated logs to diagnose any errors. If a "real" problem exists, its very likely to be a fault with the merge module itself, it is a good idea to look in the "common merge module issues" section of this documentation as well as Microsoft's MSI forum for any information on the issue.

If you are merging merge modules you have more reason than usual to consider whether the default REINSTALLMODE behaviour is what you want.

PARAMETERS

This command takes these parameters:

Main MergeModule Related Options

Please see the "options for commands" section of the manual.

#define? DEFAULT_MERGEMOD_LANGUAGE                 0              ;;A reasonable default that frequently works
#(
    #define? MERGEMOD_IGNORE_ERRORS_ALWAYS                        ;;Not overridden by the "IgnoreErrors" parameter
    _Validation                                                      ;;Don't care about any errors involving the "_Validation" table
    Directory:TARGETDIR                                              ;;Windows Installer feature means that it tells you there is an issue on this entry (only "system" folder which can be duplicated)
#)
#define? DEFAULT_MERGEMOD_IGNORE_ERRORS                           ;;Overridden by "IgnoreErrors" parameter
#define? MERGEMOD_COMPONENT_TARGETDIR_ERRORS_FATAL N              ;;N=Warning in HTML report, otherwise Fail
#define? MERGEMOD_DLL_ACCEPTABLE_VERSIONS          "2.1;2"        ;;VB literal, Semicolon delimitered list of versions of "Msm.Merge?"
#define? MERGEMOD_MEDIA_DISK_NUMBER_DESC_TEMPLATE  <$COMPILE_MEDIA_DISK_NUMBER_DESC_TEMPLATE>
#define? MERGEMOD_MEDIA_VolumeLabel_TEMPLATE       <$COMPILE_MEDIA_VolumeLabel_TEMPLATE>
#define? MERGEMOD_LOG_DIR                          <$MAKEMSI_OUT_LOG_DIR>MergeModule
#define? MERGEMOD_HTMLRPT_HR                       <$SUNDRY_HTMLRPT_HR>

Links to Merge Module Resources

Some links to merge module related resources and downloads are:

EXAMPLE

<$Feature "FRED">       ;;FRED must of course exist (or validation errors will result)...
   <$MergeModule "Merge Modules\comcat.msm">
   <$MsiValFilter ".857CCBE2_47ED_4181_ABBC_4E2951155D44">  ;;Filter out ALL "comcat.msm" messages based on the Merge Module GUID
   <$MergeModule "Merge Modules\mfc42.msm"    IgnoreErrors="Directory:SystemFolder">
   <$MergeModule "Merge Modules\msvcrt.msm">
   <$MergeModule "Merge Modules\oleaut32.msm" Comment="This module is a requirement for one of the other modules!">
<$/Feature>


Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.Please email me any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Prev]: MapUserDir[Next]: Msi


MAKEMSI© is (C)opyright Dennis Bareis 2003-2008 (All rights reserved).
Saturday May 28 2022 at 3:11pm
Visit MAKEMSI's Home Page
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.