我有一个 WiX 项目,其中包括安装用于 x86 的 Visual C++ 2008 运行时组件和一个单独的合并模块。
不幸的是,MSI v4.5 的 .msm 存在一个众所周知的问题。更具体地说,.msm 自定义操作SxSUninstallCA需要 20 分钟才能完成卸载。
所以,长话短说,我决定从新版本的产品中删除 .msm,静默安装带有 .exe 文件的 VC++ 组件。
如果我只更改这个东西(当然还有 ProductCode),安装程序不会检测到机器上已经安装的产品并执行正常安装,而无需先卸载旧版本。
知道这里发生了什么吗?MSI 是否应该检查 UpgradeCode 和 ProductCode 以检测产品是否是系统上已安装的另一个产品的升级?