什么是合并模块以及它们是如何使用的?我听说它们是 .msm 文件,但我以前从未见过(我只见过 .msi)。
创建 msi 文件时是否使用它们?它们是否与商业软件一起分发(可能与 msi 文件一起分发?)
他们有什么意义?他们是否要隐藏需要与开发软件一起安装(并因此一起分发)的常见第三方或 Microsoft 组件的安装程序的实现?
谢谢!
什么是合并模块以及它们是如何使用的?我听说它们是 .msm 文件,但我以前从未见过(我只见过 .msi)。
创建 msi 文件时是否使用它们?它们是否与商业软件一起分发(可能与 msi 文件一起分发?)
他们有什么意义?他们是否要隐藏需要与开发软件一起安装(并因此一起分发)的常见第三方或 Microsoft 组件的安装程序的实现?
谢谢!
MSI = Windows 安装程序包
MSM = 合并模块
以下是一位设置大师向我解释的方式:“MSI 之于 EXE,就像 MSM 之于 LIB”。
也就是说,MSI 包是一个独立的安装程序包。您构建 MSI 包以分发给客户或供他们直接下载和运行。MSM 是无法直接安装的安装包 - 它必须包含在 MSI 中。例如,Visual C 运行时(msvcrt90.dll 和朋友)作为 MSM 合并模块分发。如果您的应用依赖于 CRT,您可能会在 MSI 中引用 Microsoft_VC100_CRT_x86.msm。
构建 MSI 安装程序包和 MSM 合并模块有不同的方法。编写安装包的一种方法是使用 WIX 工具集。下面的一些可能感兴趣的链接:
http://wix.sourceforge.net/manual-wix2/overview.htm
http://wix.sourceforge.net/manual-wix2/authoring_merge_modules.htm