我有两个二进制文件,必须为它们创建一个服务.我尝试使用如何使用Inno Setup安装Windows服务的 "sc create"解决方案?
但它对我不起作用.它在安装结束时卡住了.我究竟做错了什么?
这是我的代码:
Filename: {cmd}; Parameters: "sc create srvname start= auto DisplayName= mysrv binPath= {app}\mybinary.exe" ; Flags: runhidden
Run Code Online (Sandbox Code Playgroud)
我尝试使用cmd
而不是{cmd}
- 没有变化.
我没有在我提到的解决方案中尝试Pascal代码.我将它作为最后的手段.
rak*_*esh 25
我使用了这段代码,我的两个服务都是安装和卸载:
[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
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题,所以为什么我应该在这种情况下使用Pascal.
Dea*_*nna 11
你有没有理由试图通过它{cmd}
?
添加/C
参数并根据需要引用其余参数,或者仅sc.exe
使用所需参数运行.
[Run]
Filename: "sc.exe"; Parameters: "create srvname start= auto DisplayName= mysrv binPath= {app}\mybinary.exe" ; Flags: runhidden
Run Code Online (Sandbox Code Playgroud)
请注意,安装服务的正确方法是本答案中提到的API,它允许您检测和处理错误.
归档时间: |
|
查看次数: |
21949 次 |
最近记录: |