WiX - 将 InstallScope 从 perUser 切换到 perMachine

WiX - Switch InstallScope from perUser to perMachine

我正在尝试创建一个支持 perUser 和 perMachine 安装的安装程序,具体取决于 UI 上选择的安装类型。

我的尝试是最初将 Package/@InstallScope 设置为 perUser,然后稍后修改 ALLUSERS 属性。

如果用户选择 perMachine 安装类型,我将尝试将 ALLUSERS 属性 设置为 1,执行以下操作:

<Publish Property="ALLUSERS" Value="1">1</Publish>

"Install" 按钮有一个 UAC 图标,但我按下它后没有出现 UAC 对话框!

相反,我收到一条错误消息,表明我显然没有为机器的所有用户安装该应用程序的权限。

没有出现或没有出现 UAC 对话框是错误吗?我错过了什么吗?

msdn 上 WiX Mailing list pointed me to the Single Package Authoring article 的某人。

我必须初始化以下属性:

<Property Id='ALLUSERS' Value='2' />
<Property Id='MSIINSTALLPERUSER' Value='1' />

并将 'MSIINSTALLPERUSER' 属性 设置为空字符串以进行每台机器安装。

<Publish Property="MSIINSTALLPERUSER" Value="{}">1</Publish>

请注意,这仅适用于 Windows Installer 5 及更高版本!