我知道这已经回答了here,但我有一个更具体的问题。我做了添加建议
serviceInstaller1.StartType = ServiceStartMode.Automatic;
serviceInstaller1.DelayedAutoStart = true;
事实上我可以确认安装后我看到我的服务有Startup Type
等于Automatic (Delayed Start)
。然而,我重新启动了我的机器,并没有像其他服务那样Status
等于Running
。我试过没有serviceInstaller1.DelayedAutoStart = true;
和同样的问题。我想知道我的Log On As
是否需要不是我的域帐户。或者还有什么问题呢?
首先,我会检查服务是否以logon = SYSTEM开头。如果可行,根据我的经验(大型企业环境),最常见的原因是服务应该运行的用户帐户没有“登录为服务”的权限。在Windows安全事件日志中查找登录错误。根据您的环境,您可以使用GPO来启用此权限,或者如果在Windows环境中允许,则可以自行设置(通过本地安全策略)。
或者您的服务可能在OnStart()中崩溃,但这也可以(正如Brien和Shetty所说)通常在事件日志(应用程序事件日志)中看到。