我有一个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
?
答案 0 :(得分:0)
InstallPrivileges属性映射到Word Count Summary Info property的第3位。这将启用和禁用高程本身,并且旨在用于事先知道仅按用户安装的软件包中。
Windows Installer 5引入了Single Package Authoring,它允许您一起使用MSIINSTALLPERUSER和ALLUSERS有条件地做两件事:
因此,如果您需要有条件的提升和有条件的每用户安装,并且如果您可以安全地需要Windows 7或更高版本,请找出有条件地设置MSIINSTALLPERUSER = 1和ALLUSERS = 2的最佳方法。 (我不知道是否有针对WiX执行此操作的预建对话框集。)
或者手动执行:使用在两个不同程序包之间进行选择的启动器;它们的主要区别应该在于InstallPrivileges属性以及它们安装数据的位置。