【问题标题】:do not require UAC elevation不需要 UAC 提升
【发布时间】:2018-12-13 09:04:34
【问题描述】:

我有一个可以按用户和每台机器安装的 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

【问题讨论】:

    标签: wix windows-installer uac wix3.11


    【解决方案1】:

    InstallPrivileges 属性映射到Word Count Summary Info property 的第 3 位。这将启用和禁用提升本身,并且旨在用于提前知道它们将仅按用户安装的包中。

    Windows Installer 5 引入了Single Package Authoring,它允许您同时使用 MSIINSTALLPERUSER 和 ALLUSERS 有条件地做两件事:

    • 抑制海拔提示
    • 将文件和注册表项的计算机位置重定向到每个用户的位置

    因此,如果您想要有条件的提升和有条件的按用户安装,并且如果您可以安全地要求 Windows 7 或更高版本,请找出有条件地设置 MSIINSTALLPERUSER=1 和 ALLUSERS=2 的最佳方法。 (我不知道是否有任何预构建的对话框集可​​以为 WiX 执行此操作。)

    或者手动操作:使用在两个不同包之间进行选择的启动器;它们的区别主要在于 InstallPrivileges 属性以及它们安装数据的位置。

    【讨论】:

      猜你喜欢
      • 2010-10-29
      • 1970-01-01
      • 2011-09-20
      • 2021-01-21
      • 2011-03-01
      • 2011-11-18
      • 1970-01-01
      • 2010-12-06
      相关资源
      最近更新 更多