none
开发的服务程序不能开机启动的错误,很奇怪手动却可以 RRS feed

  • 问题

  • 写了一个服务程序,在服务管理器里可以正常启动、停止,启动方式已设为自动,但开机却自己启动不了
     用的是sc命令安装成的服务,sc create LKserver binpath= C:\LKserver.exe start= auto
    程序应该没有问题,因为手动启动可以正常运行,就算我把里面的功能都注释掉,什么也不执行,也是一样的情况

    事件查看器看到如下错误:
    ============================================
    等待 LKserver 服务的连接超时(30000 毫秒)。
    ============================================
    由于下列错误,LKserver 服务启动失败:  
    服务没有及时响应启动或控制请求

    搞不懂是怎么回事,请师兄们指点一哈
    明月常来
    2010年7月25日 12:08

答案

  • 请检查你服务的依赖  比如你依赖了 sqlserver服务 那么就要声明在sqlserver启动后再启动你的服务
    成为 Microsoft V Dash了。。。 欢迎各位前辈同事在OCS加我
    2010年7月26日 4:24

全部回复

  • 遇到过类似的错误

    不过情况不一样,我是因为写的服务是一个监听,我简单搞了一个死循环,结果就出现你这种情况,后来改线程就可以正常启动。

    不过你没代码也有类似问题,就不清楚什么问题了,建议使用.NET安装工具安装(InstallUtil.exe)。


    family as water
    2010年7月25日 13:51
  • 请检查你服务的依赖  比如你依赖了 sqlserver服务 那么就要声明在sqlserver启动后再启动你的服务
    成为 Microsoft V Dash了。。。 欢迎各位前辈同事在OCS加我
    2010年7月26日 4:24
  • 问题是我也测试了一下空的服务程序,没有附加任何功能,也是出现同样的问题。是不是c#的服务程序要做什么特殊处理开机自动启动才不出现问题?

            protected override void OnStart(string[] args)
            {
                Console.WriteLine("test");
            }


    明月常来
    2010年7月29日 0:43
  • 你好!

        你检查一下是否是其他的软件干扰服务的启动,你尝试关闭安全软件看看!


    周雪峰
    2010年8月1日 9:31
    版主
  • 把Console.WriteLine("test");也去掉之后会怎么样?

    另外你的服务是用什么身份启动的?


    Most questions i'm interested in might have two or more possible answers i know or i don't know. So please read question carefully before you try to answer, and explan your question detailedly before asking for help. 很多看起来简单的问题都存在多种可能性,如果您不能详细的解释,别人就不能正确判断出您所遭遇的实际状况,因而不能给出最适合的解决办法。在您没有给出详细信息的情况下,施助者只有张贴大量有可能有关的解决办法。而您可能没有耐心阅读所有这些东西,在这种情况下您就客观地形成了对施助者的伤害——除非“施助者”并没有用心去尝试帮助您。 同样地,当您尝试解答一个看起来“好像遇到过”的问题的时候,您也需要详细地阅读和理解这个问题。如果您不了解问题的细节,您可能会给出不相关的或者无助于解决当前问题的解答。
    2010年8月1日 18:08