我可以找到关于msi如何升级的大量信息.例如.有关次要升级,小型升级,主要升级及其使用案例和限制的信息.但是,我找不到有关合并模块的升级行为的信息,例如:
>好像msm没有任何东西
指定次要,小或的方式
重大升级.它是哪种方式
表现在?它是否卸载旧版本
版本优先或仅更新更新
文件?
>有没有办法指定
哪个版本可以升级
像msi?
>我可以添加/删除/重命名
新版本的组件?
>如果这个msm的更新版本是
已安装和容器
msi决定安装,是吗?
用这个旧版本覆盖
MSM?
合并模块可以参与两种升级方案.第一种是安装程序升级时,它会升级.msm文件.这种情况发生在Visual Studio Service Pack中,它们提供了更新的合并模块供您使用.这可能有问题,因为.msm文件没有文件版本(即使它们具有合并模块版本),因此文件版本控制规则不适用.你可能不会问这个案子.
另一种情况是合并模块已合并到将升级的安装程序中.它不再是合并模块,而是其文件和其他记录是消费安装程序的一部分.在这种情况下,合并它的.msi控制升级步骤.这两者相互作用,通知您对前三个问题的答案.如果合并模块的更改不遵循次要升级规则,则使用安装程序将无法使用次要升级,并且必须采用主要升级.相应地,如果您想在使用安装程序中使用(或允许)次要升级,则必须注意组件.这可能比.msi更难,因为您无法在合并模块中添加新功能.文件版本控制规则将像在所有Windows Installer安装中一样应用;因此,第四个问题的答案是逐个文件地逐个文件地确定,而不是模块的整个内容的组答案.