我用 Delphi 创建了一个 Windows 服务,并使用了两种方法来安装、启动和停止。
方法一
如果我使用命令行安装此服务
C:\MyService\ServiceApp.exe /Install
它安装成功,我也可以在服务控制台中启动和停止。
方法二
但是如果我使用 sc 安装具有不同名称的相同服务,例如
C:\Windows\system32>sc create myservice binpath= c:\MyService\ServiceApp.exe
我看到它已安装,但我无法使用服务控制台以及使用
sc start myservice
当我使用 SC 进行查询时,结果如下
C:\Windows\system32>sc query myservice
SERVICE_NAME: myservice
TYPE : 10 WIN32_OWN_PROCESS
STATE : 2 START_PENDING
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x7d0
到目前为止,我一直在使用 /Install,但我想以不同的名称多次安装相同的服务,我从这篇文章中得到了使用的想法。(如何从指定名称和描述的命令行安装 Windows 服务?)任何人都可以解释 /Install 和 SC 之间的行为差异吗?