What are merge modules and how are they used? What are merge modules and how are they used? windows windows

What are merge modules and how are they used?


MSI = Windows Installer Package

MSM = Merge Module

Here's how one setup guru explained it to me: "MSI is to EXE as MSM is to LIB".

That is, an MSI package is a standalone installer package. You build MSI packages to distribute to customers or for them to download and run directly. Where an MSM is a setup package that can't be installed directly - it has to be included within an MSI. For example, the Visual C Runtime (msvcrt90.dll and friends) are distributed as an MSM merge modules. If your app depends on the CRT, you might reference Microsoft_VC100_CRT_x86.msm into your MSI.

There are different ways to build both MSI installer packages and MSM merge modules. One such way to author setup packages is with the WIX toolset. Some links that may be of interest below:

http://wix.sourceforge.net/manual-wix2/overview.htm

http://wix.sourceforge.net/manual-wix2/authoring_merge_modules.htm