合并模块如何升级?

Dud*_*udu 9 windows-installer merge-module

我可以找到关于msi如何升级的大量信息.例如有关小升级,小升级,主要升级及其使用案例和限制的信息.但是,我找不到有关合并模块的升级行为的信息,例如:

  1. 似乎msm没有任何方法来指定次要,小型或主要升级.那么它的表现方式是什么?它是先卸载旧版本还是仅更新已更改的文件?
  2. 有没有办法指定可以像msi一样升级哪个版本?
  3. 我可以为新版本添加/删除/重命名组件吗?
  4. 如果已安装此msm的较新版本且容器msi决定安装,它是否会使用此旧版本的msm覆盖?

Mic*_*man 7

合并模块可以参与两种升级方案.第一种是安装程序升级时,它会升级.msm文件.这种情况发生在Visual Studio Service Pack中,它们提供了更新的合并模块供您使用.这可能有问题,因为.msm文件没有文件版本(即使它们具有合并模块版本),因此文件版本控制规则不适用.你可能不会问这个案子.

另一种情况是合并模块已合并到将升级的安装程序中.它不再是合并模块,而是其文件和其他记录是消费安装程序的一部分.在这种情况下,.msi它已合并到其中控制升级步骤.两者相互作用,通知您对前三个问题的答案.如果合并模块的更改不遵循次要升级规则,则使用安装程序将无法使用次要升级,并且必须采用主要升级.相应地,如果您想在使用安装程序中使用(或允许)次要升级,则必须注意组件.这可能比.msi因为您无法在合并模块中添加新功能更难.文件版本控制规则将像在所有Windows Installer安装中一样应用; 因此,第四个问题的答案是逐个文件地逐个文件地确定,而不是模块的整个内容的组答案.