如何在系统启动时使Windows服务变为“正在运行”

问题描述 投票:0回答:1

我知道这已经回答了here,但我有一个更具体的问题。我做了添加建议

serviceInstaller1.StartType = ServiceStartMode.Automatic;
serviceInstaller1.DelayedAutoStart = true;

事实上我可以确认安装后我看到我的服务有Startup Type等于Automatic (Delayed Start)。然而,我重新启动了我的机器,并没有像其他服务那样Status等于Running。我试过没有serviceInstaller1.DelayedAutoStart = true;和同样的问题。我想知道我的Log On As是否需要不是我的域帐户。或者还有什么问题呢?

c# .net windows service windows-services
1个回答
1
投票

首先,我会检查服务是否以logon = SYSTEM开头。如果可行,根据我的经验(大型企业环境),最常见的原因是服务应该运行的用户帐户没有“登录为服务”的权限。在Windows安全事件日志中查找登录错误。根据您的环境,您可以使用GPO来启用此权限,或者如果在Windows环境中允许,则可以自行设置(通过本地安全策略)。

或者您的服务可能在OnStart()中崩溃,但这也可以(正如Brien和Shetty所说)通常在事件日志(应用程序事件日志)中看到。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.