无法通过 ProcRun 将打包的可执行文件作为 Windows 服务启动

Unable to launch a packaged executable as a Windows service via ProcRun

我需要启动一个可执行文件作为 with help of

我按照以下步骤操作。

  1. 创建了一个名为 run.bat,以创建服务。
"C:\Program Files (x86)\Test\prunsrv.exe"  //IS//Test --DisplayName="Test" --Startup=auto --Install="C:\Program Files (x86)\Test\prunsrv.exe"  --StartMode=exe --StartImage="C:\Program Files (x86)\Test\batchSample.exe"  --LogPath="C:\Program Files (x86)\Test\logs" --StdOutput=auto --StdError=auto
  1. 创建了 batchSample.bat,以启动 URL:
start https://www.youtube.com/watch?v=q3pG6b3uI_E
  1. 转换为 batchSample.exe,并将其放入 C:\Program Files (x86)\Test
  2. 已执行 run.bat

此时 windows 服务 Test 启动时没有给出任何错误,但它没有执行 --StartImage 所用的 batchSample.exe

感谢您的帮助。

您的批处理文件不是可执行文件,无论您给它什么扩展名。

根据文档 - https://commons.apache.org/proper/commons-daemon/procrun.html

--将是 运行 的 StartImage 可执行文件。只适用于exe模式

++StartParams 将传递给 StartImage 或 StartClass 的参数列表。使用 # 或 ; 分隔参数字符.

您需要一个程序来执行您的批处理文件作为 StartImage (sh?),并将批处理文件放入 StartParams。