我有一个wix设置,可以按用户和每台机器安装。
我使用WixUI_Advanced
对话框在perUser和perMachine之间进行选择。
然而,即使作为用户,安装程序最终也会请求UAC特权,我也不知道为什么。
我验证了通过设置InstallPrivileges="limited"
,设置运行良好。
<Package Id="*" InstallerVersion="500" Compressed="yes"
Description="!(loc.ProductDescription)"
Comments="!(loc.Comments) $(var.VersionNumber)" InstallPrivileges="limited" />
有没有办法根据用户选择有条件地设置InstallPrivileges
?
InstallPrivileges属性映射到单词计数摘要信息属性的第3位。这将启用和禁用提升本身,并用于提前知道将仅按每个用户安装的软件包中。
Windows Installer 5引入了Single Package Authoring,它允许您一起使用MSIINSTALLPERUSER和ALLUSERS来有条件地做两件事:
- 抑制高程提示
- 将文件和注册表项的计算机位置重定向到每个用户的位置
因此,如果您想要有条件的提升和有条件的每个用户安装,并且您可以安全地要求Windows 7或更高版本,请找出有条件地设置MSIINSTALLPERUSER=1和ALLUSERS=2的最佳方法。(我不知道是否有任何预先构建的对话框集可以为WiX做到这一点。(
或者手动操作:使用一个在两个不同包之间进行选择的启动器;它们应该主要在InstallPrivileges属性和安装数据的位置上有所不同。