【问题标题】:Wix install per user as admin以管理员身份按用户安装 Wix
【发布时间】:2017-05-27 23:44:12
【问题描述】:

我的 wix 安装程序有问题,希望得到一些建议。

我正在使用 wix 创建一个执行每个用户安装的 msi。每个用户都是必需的,这样我就不需要管理员权限来安装。我在自定义操作上设置了 installscope = perUser 和 impersonate=yes 。除非设置了组策略以防止按用户安装,否则此方法效果很好。在这种情况下,任何人都可以为另一个拥有运行 msi 的策略权限的管理员用户建议一种方法来运行安装程序,并且仍然可以将自定义操作写入登录的用户 HKCU 注册表配置单元。

希望这是有道理的

谢谢

【问题讨论】:

    标签: wix windows-installer installation


    【解决方案1】:

    理想情况下,您不应使用自定义操作向 HKCU 写入数据。如果我们知道您在写什么,那么标准的 WiX 注册表元素可能会创建条目,这样您就不需要代码了。或者,您可以编写一个 WiX 半自定义操作,将所需的行写入注册表表,尽管它看起来很复杂,但它是一种更直接的设计。

    默认情况下,模拟的自定义操作无权访问 HKCU,因为模拟并不意味着“与具有这些凭据的交互式登录用户的行为相同”。模拟仅意味着您使用用户的凭据运行。这并不意味着您已加载用户的配置文件(注册表配置单元)。 LoadUserProfile 的文档对此进行了解释。所以你需要为安装用户做那个 LoadUserProfile 。这一切都变得相当复杂,并且可能是编写这些条目的最糟糕的方法。

    【讨论】:

    • 感谢您的回复。我明白你在说什么,但我无法选择自定义操作。它是一个名为 addin express 的第三方组件,它提供了一个 adxregistrator 实用程序来执行注册。这有很多我不想重新创建的逻辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 2022-01-23
    • 2012-07-11
    • 2015-01-22
    • 1970-01-01
    • 2020-07-14
    相关资源
    最近更新 更多