我有两个二进制文件和必须为他们创建一个服务。 我试图使用从“SC创造”的解决方案如何安装与创新安装Windows服务?
但它没有为我工作。 它被陷在安装结束。 我究竟做错了什么?
这里是我的代码:
Filename: {cmd}; Parameters: "sc create srvname start= auto DisplayName= mysrv binPath= {app}\mybinary.exe" ; Flags: runhidden
我试着用cmd
代替{cmd}
-没有变化。
我没有尝试中,我提到了解决方案的Pascal代码。 我保持它作为最后的手段。
我用这个代码和我的两个服务都安装和卸载:
[run]
Filename: {sys}\sc.exe; Parameters: "create mysrv start= auto binPath= ""{app}\mysrv.exe""" ; Flags: runhidden
[UninstallRun]
Filename: {sys}\sc.exe; Parameters: "stop mysrv" ; Flags: runhidden
Filename: {sys}\sc.exe; Parameters: "delete mysrv" ; Flags: runhidden
这解决了我的问题,所以我为什么要在这种情况下使用帕斯卡尔?
有没有你想通过运行任何原因{cmd}
?
无论是添加/C
参数,并根据需要引用休息,或只是运行sc.exe
与所需的参数。
[Run]
Filename: "sc.exe"; Parameters: "create srvname start= auto DisplayName= mysrv binPath= {app}\mybinary.exe" ; Flags: runhidden
需要注意的是,安装该服务的正确方法是在API中提到的这个答案 ,让您检测和处理错误。