2

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

4

1 回答 1

3

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

根据 MSDN,Major Upgrades 不能更改上下文(per-user -> per-machine or per-machine -> per-user )

注意 如果应用程序安装在每用户安装上下文中,则应用程序的任何主要升级也必须使用每用户上下文执行。如果应用程序安装在每台机器的安装上下文中,则应用程序的任何主要升级也必须使用每台机器的上下文执行。Windows Installer 不会跨安装上下文安装主要升级。

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

于 2013-03-19T11:59:10.613 回答