编程语言
首页 > 编程语言> > 的WIX安装程序ServiceControl“足够的特权”错误

的WIX安装程序ServiceControl“足够的特权”错误

作者:互联网

Visual Studio 2015 RC
Wix v3.10.0.1726

我正在为Windows服务创建安装程序.我已经使用InstallUtil测试了该服务,并且运行良好.不幸的是,我在使用wix时遇到了一些麻烦,这是确切的错误-

“服务’服务名称’无法启动.请验证您具有启动系统服务的足够特权.”

现在,我将问题缩小为通过WIX启动​​服务.如果我放弃了ServiceControl标记,并使用services.msc手动将其启动,那么它将正常工作.

从其他问题来看,该错误似乎是一般的捕获错误,并且在多种情况下都会发生.最受欢迎的是您的服务是否依赖安装到GAC(全局程序集缓存)的程序集,我也不清楚.我从来没有将任何内容隐式保存到GAC中,我的服务只是调用我编写的包含在项目中的.cs文件.

任何帮助将不胜感激!

<Component Id="ProductComponent7">
    <File Source="$(var.ServiceName.TargetPath)" KeyPath="yes" Vital="yes"/>
    <ServiceInstall Id="ServiceName.exe"
                      Account="LocalSystem"
                      Arguments="-start"
                      Type="ownProcess" 
                      Name="ServiceName.exe" 
                      DisplayName="ServiceName Service" 
                      Description="sdfg" 
                      Start="auto" 
                      Interactive="yes"
                      ErrorControl="critical" />
  <ServiceControl Id="ServiceControl" Name="ServiceName" Start="install"  />
        </Component>

我还在ServiceControl中尝试了各种不同的属性,最近我将它们全部删除,以使其尽可能简单.

如果有人有任何见解,那就太好了!

解决方法:

正确,这是一个一般性错误.您必须分析服务以了解为什么它无法启动.

GAC只是一种情况.在这种情况下,这是因为MSI直到StartServices之后才将程序集发布到GAC.经典的竞争条件会导致缺少依赖项和错误.

在消息框仍然显示的情况下,从控制台运行EXE.你有错误吗?您的应用程序日志中是否有任何错误?找出为什么该服务无法修复,请解决该问题然后重试.

标签:visual-studio-2015,windows-services,installer,wix,c
来源: https://codeday.me/bug/20191028/1951051.html