我遇到了Windows Installer安装策略的问题。如果我按照每个用户/每台计算机(Just Me / Everyone)使用这些选项中的任何一个安装应用程序,然后安装具有不同选项的升级版本,则安装程序不会检测到早期版本,也不会卸载早期版本,这会导致重复的条目同样适用于控制面板。如果更改安装策略,为什么我的安装程序不检测现有安装?有没有办法欺骗安装程序正确卸载早期版本?我找到了类似的文章here,但这并没有解决我的问题。
答案 0 :(得分:3)
您指的过程称为“Major Upgrade”。在此过程中,Windows Installer会在单个事务中安装新版本并卸载以前的版本(该顺序取决于您在何处安排名为RemoveExistingProducts的标准操作)。
根据MSDN,主要升级不能更改上下文(每个用户 - >每台机器或每台机器 - >每个用户)
注意如果在每用户安装上下文中安装了应用程序,则还必须执行对应用程序的任何重大升级 使用每用户上下文。如果安装了应用程序 每台机器安装上下文,对应用程序的任何重大升级 还必须使用每台机器上下文执行。 Windows 安装程序不会在安装上下文中安装主要升级。
您必须首先卸载每用户安装(在可能存在的所有配置文件中),然后安装每台计算机的安装。这是每用户安装通常不是最佳做法的原因之一。他们很难服务。