2

我有一个应用程序可以使用 Inno 安装程序打包到安装程序文件中。应用程序必须在 Windows 上作为服务运行。我正在使用 NSSM 服务管理器在单台计算机上完成它。但是在 Inno 安装包中,我找不到任何技巧来使它成为可能。

NSSM 有什么可做的,或者是否可以使服务与 Inno 脚本一起工作?

4

1 回答 1

3
  1. 下载NSSM
  2. 提取Zip文件,然后复制nssm.exe到您的源路径(Inno Setup 脚本从中获取源)。
  3. 创建一个 bat 文件以允许nssm将您的应用设置为服务,如下所示:

    nssm install "ServiceName" "YourAPP.EXE"
    nssm set "ServiceName" AppDirectory %CD%
    nssm start "ServiceName"
    del "%~f0"
    

    注意: del "%~f0"要在设置完成后删除 bat 文件,如果您不想这样做,请从 bat 文件中删除该行

  4. 在源路径中添加上一个 bat 文件。

  5. 将新源添加到 Inno Setup 脚本,如下所示:

    [Files]
    Source: "..\YOUR-SOURCE-PATH\file.bat"; DestDir: "{app}";
    Source: "..\YOUR-SOURCE-PATH\nssm.exe"; DestDir: "{app}";
    
  6. 在部分下添加 bat 文件[Run]以设置服务并启动您的应用程序,如下所示:

    Filename: "{app}\file.bat"; \
        Flags: nowait postinstall hidewizard runhidden runascurrentuser; \
        Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"
    

我希望它有用,必须感谢@MartinPrikryl

于 2018-12-10T09:03:37.887 回答