WiX 如何决定安装范围(perUser、perMachine)?

问题描述 投票:0回答:1

我有两个产品,ProdU 和 ProdM。 ProdU“按用户”安装(=在

Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Installer\Products\
下注册),ProdM“按机器”安装(=在
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\
下注册)。 WiX决定了这个,我不是故意配置的!

现在我创建了两个主要升级安装程序,WiX 决定它们都是“每台机器”。这导致了问题,ProdU 根本没有更新,因为第二个“注意”here:

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

如果我不手动设置,WiX 如何决定范围?

PS,以防万一:ProdU 和 ProM 基于 WiX 3.11,更新基于 WiX 4。

wix wix3.11 wix4
1个回答
0
投票

在 WiX v3 中,如果您未指定 Package/@InstallScope,则默认为每个用户。

但是您可以通过设置 ALLUSERS 属性在安装时更改安装范围。这实际上控制着软件包是按用户安装还是按计算机安装。

因此,您需要查看日志文件以了解如何设置 ALLUSERS 属性。

© www.soinside.com 2019 - 2024. All rights reserved.