我看到我的Windows服务程序出现了奇怪的错误.我的服务程序StartServiceCtrlDispatcher()在它的最开始调用main(),但有时失败了1063 (ERROR_FAILED_SERVICE_CONTROLLER_CONNECT).
我知道如果用户手动启动程序(作为控制台程序),则会发生此错误.但事实并非如此. 当发生此错误时,我添加了一个代码来检查服务程序的父进程,它告诉services.exe是父进程(我认为可以安全地假设我的程序是由SCM正确启动的).
不幸的是,这个错误不能在我的开发机器上重现,也不能自己调试,但在用户系统上捕获的错误日志告诉:
StartServiceCtrlDispatcher()在返回失败之前会停止大约一秒钟.有没有人见过类似的错误?如果是这样,错误的原因是什么?