2

在安装期间,我正在使用 ServiceInstall 和 ServiceControl 标签安装我的服务。但是,我的服务没有运行。我收到错误消息“请检查您是否有足够的权限来启动服务”。但是,我在管理员组中。我正在使用 Wix 3.0 版。

代码片段在这里,

<File Id='myexe' Name='myexe.exe' DiskId='1'
        Source='myexe.exe' Vital='yes'>
</File>

<ServiceInstall Id='myService' DisplayName='MySampleService' 
                Name='MySampleService' 
                ErrorControl='normal' Start='auto' 
                Type='ownProcess' Vital='yes' />

     <ServiceControl Id="StartService"
                  Name="MySampleService" Start="install" Wait="yes" />
     <ServiceControl Id="StopService" Name="MySampleService"
                  Stop="both" Wait="yes" Remove="uninstall" />

请帮我。

4

4 回答 4

2

这是由于任何原因服务无法安装或启动(如果您告诉它这样做)时出现的一般错误。这是非常令人沮丧的。调试的唯一方法是慢慢删除依赖项,直到事情最终正常工作。通常,该服务需要一些代码(GAC 中的程序集?),这些代码直到以后才完全配置。

我通常通过查看 Services.msc 并在错误消息出现时尝试启动服务来进行调试。这通常会提供比 Windows Installer 更好的错误消息。

于 2009-03-13T01:19:13.673 回答
2

不要尝试根据安装到全局程序集缓存 GAC 中的组件来启动 .NET 服务,ServiceStart 来得太早了

于 2012-09-26T14:04:25.943 回答
0

尝试使用 util:User 元素

例如:

<util:User Id="myServiceUser" Name="[USERNAME]" LogonAsService="yes" UpdateIfExists="yes" CreateUser="no"
                   FailIfExists="no" />
于 2012-03-05T11:29:37.557 回答
0

您还可以检查 Window Eventlog 以确定问题。如果问题是缺少二进制文件,您可以使用Depends找出丢失的内容。

于 2009-08-19T14:11:03.663 回答