我有一个 Windows 服务,但在工作时遇到了一些问题。
相关功能如下:
(编辑以反映当前)
static void Main()
{
if (Debugger.IsAttached)
{
ContinuumService Service = new ContinuumService();
Service.Start(new Object[] { });
while (true)
Thread.Sleep(1);
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new ContinuumService()
};
ServiceBase.Run(ServicesToRun);
}
}
public ContinuumService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
base.OnStart(args);
}
protected override void OnStop()
{
base.OnStop();
}
我的安装程序设置为“允许服务与桌面交互”(因为没有这个我似乎无法安装服务),并且我知道正在安装该服务 - 但由于某种原因无法启动。
据我了解,服务启动命令将执行 OnStart 并等待该方法完成。完成后,如果进程仍在运行,则服务报告正在运行...如果这有偏差,请告诉我。
我从安装程序返回的确切错误是'服务'[显示名称]'([名称])无法启动。验证您是否有足够的权限来启动系统服务。'; 从安装程序后面生成的日志中,我收到带有相同消息的错误 1920。
无论哪种情况——我都想不出一个正当的理由。任何建议都会很棒。