如何让windows服务自动启动

How to make windows service start automatically

我正在尝试让 windows 服务在您进入会话之前自动启动。
我试过使用 TopShelf 并添加 Start Automatically 方法,但是当我启动 computer.I 时服务没有启动,仍然必须手动启动它。 有什么我遗漏的吗?

服务开始

public static void RunService() {
            var exitCode = HostFactory.Run(x => {
                x.Service<SomeService>(s => {
                    s.ConstructUsing((h) => new SomeService());
                    s.WhenStarted(t => t.Start());
                    s.WhenStopped(t => t.Stop());
                    s.WhenSessionChanged((daemon, host, args) => daemon.SessionChanged(args.SessionId));
                });
                x.EnableSessionChanged();
                x.EnableShutdown();

                x.StartAutomatically();
                x.RunAsLocalSystem();

            });
            int exitCodeValue = (int)Convert.ChangeType(exitCode, exitCode.GetTypeCode());
        }
  1. 检查服务控制面板应用程序 ("services.msc") 和 确认您的服务的启动类型是 "Automatic"。
  2. 使用事件查看器,检查 Windows 日志 > 应用程序 区域 来自您的服务的消息。也许它是在开机时开始的,但是 快速崩溃或停止。
  3. 使用事件查看器,检查事件日志的 Windows 日志 > 系统 区域是否有启动服务的错误。查看来源为 "Service Control Manager".
  4. 的记录

有关其他建议,请参阅“Why doesn’t my Windows Service Start at Boot?”。