Windows安装程序:在升级期间更改安装策略导致应用程序副本重复



我遇到了Windows Installer的安装策略问题。如果我在每个用户/每台机器(只有我/每个人)使用这些选项中的任何一个安装应用程序,然后安装带有不同选项的升级版本,那么安装程序不会检测早期版本,也不会卸载早期版本,这也会导致控制面板中相同应用程序的重复条目。如果安装策略更改,为什么我的安装程序无法检测现有安装?是否有任何方法可以欺骗安装程序正确卸载早期版本?我在这里找到了一篇类似的文章,但这并不能解决我的问题。

您所指的过程称为"主要升级"。在此过程中,Windows Installer在单个事务中安装新版本并卸载以前的版本(顺序取决于您在哪里安排称为RemoveExistingProducts的标准操作)。

根据MSDN,主要升级不能改变上下文(每用户->每机器或每机器->每用户)

注意如果应用程序安装在每个用户的安装上下文中,则还必须执行对该应用程序的任何主要升级使用每个用户上下文。如果应用程序安装在每台机器安装上下文,对应用程序的任何重大升级还必须使用每台机器上下文执行。窗户安装程序不会跨安装上下文安装主要升级。

您必须首先卸载每个用户的安装(在所有配置文件中可能存在),然后安装每个机器的安装。这就是按用户安装通常不是最佳实践的原因之一。

最新更新