gpt4 book ai didi

WIX Burn Bootstrapper 不要求我的 MSI 的管理员权限

转载 作者:行者123 更新时间:2023-12-03 23:32:02 25 4
gpt4 key购买 nike

我使用 WIX 创建了一个需要提升权限才能正常工作的 MSI。在 MSI 项目中,我通过

<Package [...] InstallPrivileges="elevated" />

现在我将此 MSI 包含在基于 WixWPF Bootstrapper 的自定义 bootstrap 项目中.
据我了解, bootstrap 本身不应改变机器状态,因此不应要求提升权限。

我现在希望 Bootstrapper 自动启动具有提升权限的集成 MSI,并在必要时通过 UAC 对话框提示用户。但事实并非如此。相反,安装只是失败。
但是,当我以管理员身份显式运行 bootstrap 可执行文件时,它会起作用。

安装 MSI 时,如何让 bootstrap 请求提升权限?

最佳答案

INSTALLSCOPE MSI 的属性没有设置,它默认为每用户安装, bootstrap 认为它不需要任何管理员/提升权限来运行它。

现在,在您的情况下,您是 MSI 的作者,您很容易将 InstallScope 添加到包元素。

InstallScope="perMachine" 

如果您不是 MSI 的作者, bootstrap 仍然提供了一个属性,您可以使用它来强制 MSI/EXE 的每台机器。
  • MSIPackage - ForcePerMachine
  • EXEPackage - PerMachine

  • 那么为什么 Bootstrapper 认为 Per-Machine 安装需要提升权限而 Per-User 不需要?很简单,每用户安装注册表值写在 HKEY_CURRENT_USER 下,对于每台机器安装,注册表值写在 HKEY_LOCAL_MACHINE 下。只有管​​理员用户可以读/写 HKLM。

    关于WIX Burn Bootstrapper 不要求我的 MSI 的管理员权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26613030/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com