我正在尝试使用我自己的可执行文件在 Windows 上创建服务。当我尝试启动服务时,我收到错误消息:
“本地计算机上的服务启动然后停止。有些服务如果没有工作会自动停止......”
exe 应该一直在工作,因为它会不断地运行一个计时器来检查时间并在一天中的某些时间点进行数据库备份。我已经单独测试了可执行文件(不是作为服务),它工作正常。
我使用批处理文件和 INSTSRV.EXE 和 SRVANY.EXE 创建了服务。批处理文件如下所示:
start /d "C:\<exe directory>" INSTSRV.EXE <service name> "C:\<exe
directory>\SRVANY.EXE"
服务器名称现在显示在我计算机上的服务列表中。我还编辑了注册表以确保一切正常。这是我的 regedit 条目的样子:
Service key
DisplayName REG_SZ <service name>
ErrorControl REG_DWORD 0
ImagePath REG_EXPAND_SZ "C:\<exe directory>\SRVANY.EXE" <service name> C:\<exe directory>\SRVANY.EXE
ObjectName REG_SZ LocalSystem
Start REG_DWORD 2
Type REG_DWORD 16
Parameters key
AppDirectory REG_SZ E:\<exe directory>\
Application REG_SZ E:\<exe directory>\<exe file name>
我之前使用过类似的批处理文件从可执行文件创建服务,并且我将该服务的注册表项与我自己的服务的注册表项进行了比较。它们非常相似。我不知道为什么我的服务不想启动。