我有一个简单的Windows服务项目。我已按照位于http://msdn.microsoft.com/en-us/library/zt39148a.aspx的说明进行操作,包括添加自定义操作。
在安装模式下为安装项目运行我的构建。我将.msi运行到我希望服务运行的服务器上。当我打开服务管理器时,将显示该服务。我甚至可以手动启动服务,它完全按照我的需要运行。
但是,我希望此服务每5分钟运行一次,因此我在任务计划程序中设置了一个任务,并将我的Windows服务的.exe指向该任务。但是,当任务调度程序运行我的Windows服务时,我收到以下错误:
无法启动服务。服务流程无法连接到服务控制器
我已经做了很多关于此的研究,但还没有提出任何建议。有没有人对可能导致这种情况的原因有任何想法?
答案 0 :(得分:2)
好的,那不行。您不能像任务计划程序那样直接运行服务的exe。您应use the "Net start" command启动该服务。
请确保在计划任务中选中“以最高权限运行”框,以避免在Windows Vista或更高版本中使用UAC。
答案 1 :(得分:1)
我的回答没有在评论中正确格式化,所以我想让所有人知道他们遇到过这个问题。基本上,我刚刚创建了一个.bat文件,然后在该.bat文件中,我将以下两行:
NET START MyServiceName
NET STOP MyServiceName
NET STOP命令是同步的,将在服务停止之前等待服务完成。
感谢您的帮助!