我有一个应用程序可以使用 Inno 安装程序打包到安装程序文件中。应用程序必须在 Windows 上作为服务运行。我正在使用 NSSM 服务管理器在单台计算机上完成它。但是在 Inno 安装包中,我找不到任何技巧来使它成为可能。
NSSM 有什么可做的,或者是否可以使服务与 Inno 脚本一起工作?
我有一个应用程序可以使用 Inno 安装程序打包到安装程序文件中。应用程序必须在 Windows 上作为服务运行。我正在使用 NSSM 服务管理器在单台计算机上完成它。但是在 Inno 安装包中,我找不到任何技巧来使它成为可能。
NSSM 有什么可做的,或者是否可以使服务与 Inno 脚本一起工作?
Zip
文件,然后复制nssm.exe
到您的源路径(Inno Setup 脚本从中获取源)。创建一个 bat 文件以允许nssm
将您的应用设置为服务,如下所示:
nssm install "ServiceName" "YourAPP.EXE"
nssm set "ServiceName" AppDirectory %CD%
nssm start "ServiceName"
del "%~f0"
注意: del "%~f0"
要在设置完成后删除 bat 文件,如果您不想这样做,请从 bat 文件中删除该行
在源路径中添加上一个 bat 文件。
将新源添加到 Inno Setup 脚本,如下所示:
[Files]
Source: "..\YOUR-SOURCE-PATH\file.bat"; DestDir: "{app}";
Source: "..\YOUR-SOURCE-PATH\nssm.exe"; DestDir: "{app}";
在部分下添加 bat 文件[Run]
以设置服务并启动您的应用程序,如下所示:
Filename: "{app}\file.bat"; \
Flags: nowait postinstall hidewizard runhidden runascurrentuser; \
Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"
我希望它有用,必须感谢@MartinPrikryl