1

在我进入正文之前,请注意我已经尝试了以下内容:

  • 设置服务依赖
  • 设置延长超时

现在,话虽如此,您可能会猜到我的问题是:我的 Windows 服务无法在启动时启动,但我可以从服务管理器手动启动它。事件日志显示它确实尝试在启动时启动,但未能及时响应。

该服务没有什么特别之处,因为它只访问一个 SOAP 端点,运行一些系统命令,并运行一些 WMI 查询。我已将服务设置为依赖于 DNS 服务和 WMI 服务,但它仍然无法启动(超时),这告诉我还有其他原因使其无法运行。

我正在使用 NSIS SimpleSC 插件注册服务,使用以下选项:

Service Type: SERVICE_WIN32_OWN_PROCESS 
Start Type: SERVICE_AUTO_START 
Dependencies: Winmgmt, Netman, Eventlog, Dnscache
User Name: LocalSystem

我错过了什么?

4

2 回答 2

1

原来这个问题的水平低于开始顺序或类似的事情。它与我在服务的构造函数中的一些初始化代码有关。一旦我重构它以将该代码移到构造函数之外,一切都运行良好。

感谢@AljoshaBre 和@Peter K. 的帮助。

于 2011-06-27T23:43:13.733 回答
1

尝试在您的服务中使用SetServiceStatus给它一些时间。请记住,加载顺序很重要。

于 2011-06-26T01:02:46.570 回答