Windows Inno设置和NSSM服务工作集成
我有一个应用程序要用Inno setup打包到安装文件中。应用程序必须在Windows上作为服务运行。我使用NSSM服务管理器在一台计算机上完成它。然而,在Inno安装包中,我找不到任何使之成为可能的技巧 NSSM是否与此相关,或者是否有可能使服务与Inno脚本一起工作Windows Inno设置和NSSM服务工作集成,windows,service,installation,inno-setup,nssm,Windows,Service,Installation,Inno Setup,Nssm,我有一个应用程序要用Inno setup打包到安装文件中。应用程序必须在Windows上作为服务运行。我使用NSSM服务管理器在一台计算机上完成它。然而,在Inno安装包中,我找不到任何使之成为可能的技巧 NSSM是否与此相关,或者是否有可能使服务与Inno脚本一起工作 下载 提取Zip文件,然后将nssm.exe复制到源路径(Inno安装脚本从中获取源) 创建bat文件以允许nssm将应用程序设置为服务,如下所示: nssm install "ServiceName" "YourAPP.EXE
Zip
文件,然后将nssm.exe
复制到源路径(Inno安装脚本从中获取源)nssm
将应用程序设置为服务,如下所示:
nssm install "ServiceName" "YourAPP.EXE"
nssm set "ServiceName" AppDirectory %CD%
nssm start "ServiceName"
del "%~f0"
[Files]
Source: "..\YOUR-SOURCE-PATH\file.bat"; DestDir: "{app}";
Source: "..\YOUR-SOURCE-PATH\nssm.exe"; DestDir: "{app}";
Filename: "{app}\file.bat"; \
Flags: nowait postinstall hidewizard runhidden runascurrentuser; \
Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"
注意:del“%~f0”
要在安装完成后删除bat文件,如果不需要,请从bat文件中删除该行nssm install "ServiceName" "YourAPP.EXE"
nssm set "ServiceName" AppDirectory %CD%
nssm start "ServiceName"
del "%~f0"
[Files]
Source: "..\YOUR-SOURCE-PATH\file.bat"; DestDir: "{app}";
Source: "..\YOUR-SOURCE-PATH\nssm.exe"; DestDir: "{app}";
Filename: "{app}\file.bat"; \
Flags: nowait postinstall hidewizard runhidden runascurrentuser; \
Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"
[Run]
部分下添加bat文件以设置服务并启动应用程序,如下所示:
nssm install "ServiceName" "YourAPP.EXE"
nssm set "ServiceName" AppDirectory %CD%
nssm start "ServiceName"
del "%~f0"
[Files]
Source: "..\YOUR-SOURCE-PATH\file.bat"; DestDir: "{app}";
Source: "..\YOUR-SOURCE-PATH\nssm.exe"; DestDir: "{app}";
Filename: "{app}\file.bat"; \
Flags: nowait postinstall hidewizard runhidden runascurrentuser; \
Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"
我希望它有用,我要感谢@MartinPrikryl我过去做过这件事。你有什么问题?发布你的脚本和你看到的行为。@mirthel实际上我甚至不能在脚本中添加任何关于NSSM的代码。我找不到任何关于它的例子。我也不希望有任何关于NSSM和InnoSetup的具体例子。您需要做的是让NSSM部件自行工作,然后将其集成到InnoSetup中。我可以告诉你,我所做的只是在我的scrip中包含NSSM可执行文件并添加一个[RUN]条目。@mirtheil是否可以编写我自己的脚本(.bat)来通过NSSM创建服务。因为在创建服务时,nssm接口正在打开,而通过.bat文件打开它是一个障碍?是这样的,你怎么看?试着突出显示关键词,并清楚地说明它的格式,这将有助于你找到其他人的答案。这是我的第一个答案,我不知道为什么会出现这样的情况,我设置了代码标志,并将其写入步骤组织编辑好的,所有都是这样的。将通过您即将提供的内容来更正它。祝你一切顺利。