InnoSetup和NSSM退出代码5

时间:2015-09-08 04:07:17

标签: node.js windows service inno-setup nssm

我在node-js平台上有一个应用程序安装程序,目前正在使用Inno Setup和NSSM开发一个安装程序(应用程序应作为服务运行)。

当NSSM尝试注册服务(该设备是通过平板电脑运行的Windows 8.1 32位企业版)时,NSSM因退出代码5而失败。

我找不到比拒绝访问更有用的东西,也没有任何帮助。尝试了很多东西,比如更改文件夹,名称和用户,每次都失败了。

Inno脚本如下所示:

; Add System Service Filename: "{app}\{#NSSM}";
Parameters: "install {#MyAppShortName} {app}\winstart-server.bat";
Flags: runhidden runascurrentuser;
Filename: "{app}\{#NSSM}";
Parameters: "set {#MyAppShortName} AppStdin {app}\{#MyAppShortName}.log";
Flags: runhidden runascurrentuser; 
Filename: "{app}\{#NSSM}";
Parameters: "set {#MyAppShortName} AppStdout {app}\{#MyAppShortName}.log";
Flags: runhidden runascurrentuser; 
Filename: "{app}\{#NSSM}";
Parameters: "set {#MyAppShortName} AppStderr {app}\{#MyAppShortName}.log";
Flags: runhidden runascurrentuser; 
Filename: "{app}\{#NSSM}";
Parameters: "set {#MyAppShortName} AppRotateFiles 1";
Flags: runhidden runascurrentuser;
Filename: "{sys}\net.exe";
Parameters: "start {#MyAppShortName}";
Flags: runhidden runascurrentuser;

运行时安装程序的日志提示如下所示:

2015-09-07 20:41:22.616   -- Run entry --
2015-09-07 20:41:22.616   Run as: Current user
2015-09-07 20:41:22.616   Type: Exec
2015-09-07 20:41:22.616   Filename: C:\Monitor\nssm.exe
2015-09-07 20:41:22.616   Parameters: install Monitor C:\Monitor\winstart-server.bat
2015-09-07 20:41:24.262   Process exit code: 5
2015-09-07 20:41:24.262   -- Run entry --
2015-09-07 20:41:24.262   Run as: Current user
2015-09-07 20:41:24.262   Type: Exec
2015-09-07 20:41:24.262   Filename: C:\Monitor\nssm.exe
2015-09-07 20:41:24.262   Parameters: set Monitor AppStdin C:\Monitor\Monitor.log
2015-09-07 20:41:24.299   Process exit code: 3
2015-09-07 20:41:24.299   -- Run entry --
2015-09-07 20:41:24.299   Run as: Current user
2015-09-07 20:41:24.299   Type: Exec
2015-09-07 20:41:24.299   Filename: C:\Monitor\nssm.exe
2015-09-07 20:41:24.299   Parameters: set Monitor AppStdout C:\Monitor\Monitor.log
2015-09-07 20:41:24.365   Process exit code: 3
2015-09-07 20:41:24.365   -- Run entry --
2015-09-07 20:41:24.365   Run as: Current user
2015-09-07 20:41:24.365   Type: Exec
2015-09-07 20:41:24.365   Filename: C:\Monitor\nssm.exe
2015-09-07 20:41:24.365   Parameters: set Monitor AppStderr C:\Monitor\Monitor.log
2015-09-07 20:41:24.415   Process exit code: 3
2015-09-07 20:41:24.415   -- Run entry --
2015-09-07 20:41:24.415   Run as: Current user
2015-09-07 20:41:24.415   Type: Exec
2015-09-07 20:41:24.415   Filename: C:\Monitor\nssm.exe
2015-09-07 20:41:24.415   Parameters: set Monitor AppRotateFiles 1
2015-09-07 20:41:24.458   Process exit code: 3

正如你所看到的,第一个taks失败了5,然后其他人提示3,因为服务没有注册。

任何线索?非常感谢你提前。

1 个答案:

答案 0 :(得分:1)

我认为问题是Windows已经有一个名为“Monitor”的服务(sys / DRIVERS / monitor)。尝试更改其他服务的名称!