如何从.msi安装程序升级到新版本的.msm?

问题描述:

假设我有一个由一堆DLL组成的组件。并且该组件是使用.msi安装程序为几个版本发布的。如何从.msi安装程序升级到新版本的.msm?

现在,我们需要它是.msm,以便它可以包含在其他msi安装程序中。所以我们需要构建一个可以从.msi安装升级的合并模块。

如何做到这一点?或者它不能完成? 我们正在使用Wix。

只要保持相同的GUID并设置要共享的组件,就应该可以将组件移到MSM中。 MSM只会导致组件被包含在其中包含的安装程序中,就像组件已被添加到安装程序中一样,因此它更像是将组件复制到多个安装程序中。

授予我还没有尝试过任何这一点,只有当多个安装程序共享组件的GUID时,我不想要这种行为的修复错误的相反。

+0

非常感谢。另一个小混乱:通过“设置要共享的组件”,它只是使用相同的组件代码还是还有其他一些事情要做? – Dudu 2009-08-21 08:57:50

+0

“共享”组件意味着该组件在多个安装程序*享,并导致MSI对组件执行引用计数,并且只有在卸载了使用该组件的所有安装程序时才将其卸载。 如果没有这个,卸载的第一个安装程序将删除该组件。 – JShumaker 2009-08-31 14:07:48