gpt4 book ai didi

wix - 创建一个新用户并使用该用户安装 Windows 服务

转载 作者:行者123 更新时间:2023-12-05 02:22:37 24 4
gpt4 key购买 nike

我正在开发新的 Wix 安装程序。

  1. 我想做的是将 .exe 复制到一个目录。
  2. 创建一个新用户。
  3. 使用该新用户安装 Windows 服务。

    <!-- Create User -->
    <util:User Id="UpdateUserLogonAsService" UpdateIfExists="yes" CreateUser="yes" Name="ServiceUser" PasswordNeverExpires="yes" Password="secret" />

    <ServiceInstall Id="ServiceInstaller"
    Type="ownProcess"
    Vital="yes"
    Name="Windows:service"
    DisplayName="Windows service install"
    Description="test"
    Start="auto"
    Account="ServiceUser"
    Password="secret"
    ErrorControl="ignore"
    Interactive="no" />
    <ServiceControl Id="StartService"
    Start="install"
    Stop="both"
    Remove="uninstall"
    Name="Windows:service"
    Wait="yes" />

只要我使用当前的登录名和密码,就可以创建用户,安装服务。但是,一旦我尝试使用新用户,我就会收到以下错误消息。

Verify that you have sufficient privileges to install system service

enter image description here

我已经尝试以管理员身份运行 msi,但它没有改变错误仍然出现。我猜这与我没有安装服务以在其他用途​​下运行的权限有关。但这是一个猜测。

最佳答案

您需要使用 LogonAsService 作为 Util::User 元素的属性授予用户 SeServiceLogonRight 权限。

FWIW,该错误消息非常普遍并且通常是错误的,因为 Windows Installer 可能不知道您的服务未能正确响应(启动)的原因。您可能有其他问题(例如您的服务写入您的帐户有权访问但服务帐户没有的目录)但至少您遇到了这个问题。

这里有一些乐趣。在该屏幕上,进入 Services.msc 并手动将服务切换到 SYSTEM 并返回到帐户。您应该会收到一条提示,说明该帐户已被授予权限。然后点击对话框中的重试。如果安装成功,那是你唯一的问题。

这个权限可以在组策略编辑器中看到。由于 Services.msc,权限已经在外部设置,从那时起安装似乎可以正常工作。恢复 VM 或使用组策略删除权限,问题将再次出现。修复安装程序、重建并重新测试,WiX 应该会在安装过程中自动应用权限。

关于wix - 创建一个新用户并使用该用户安装 Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27923030/

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