使用时创建Windows服务:
sc create ServiceName binPath= "the path"
Run Code Online (Sandbox Code Playgroud)
如何将参数传递给Installer类的Context.Parameters集合?
我对sc.exe文档的阅读是这样的论证只能在最后传递binPath,但我没有找到一个例子或者能够成功地做到这一点.
我用Delphi创建了一个Windows服务,并使用两种方法来安装,启动和停止.
方法1
如果我使用命令行安装此服务
C:\MyService\ServiceApp.exe /Install
Run Code Online (Sandbox Code Playgroud)
它安装成功,我也可以在服务控制台中启动和停止.
方法2
但如果我使用sc例如安装不同名称的相同服务
C:\Windows\system32>sc create myservice binpath= c:\MyService\ServiceApp.exe
Run Code Online (Sandbox Code Playgroud)
我看到它已安装但我无法使用服务控制台启动服务
sc start myservice
Run Code Online (Sandbox Code Playgroud)
当我使用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
Run Code Online (Sandbox Code Playgroud)
到目前为止我正在使用/安装,但我想用不同的名称多次安装相同的服务,我从这篇文章中得到了这个想法.(如何从命令行指定名称和描述安装Windows服务?)任何人都可以解释/ Install和SC之间的行为差异吗?