What are merge modules and how are they used?

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-22 01:34:16

问题


What are merge modules and how are they used? I heard that they are .msm files, but I've never seen that before (I've only seen .msi).

Are they used when you create msi files? Are they distributed with commercial software (presumably together with msi files?)

What is the point of them? Are they to hide the implementation of the installer for common third party or Microsoft components that need to be installed together with developed software (and therefore distributed together)?

Thanks!


回答1:


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



来源:https://stackoverflow.com/questions/3332304/what-are-merge-modules-and-how-are-they-used

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!