Node-Webkit子产生UNKNOWN错误

我正试图在我的Windows文件系统的其他地方启动一个.exe。

spawn = require('child_process').spawn; game.process = spawn(path.join(config.values.armaPath, 'arma3.exe'), { detached: true }); 

我已经把它包装在一个try / catch中,我得到的错误是没有帮助的:

 Error {code: "UNKNOWN", errno: "UNKNOWN", syscall: "spawn", stack: (...), message: "spawn UNKNOWN"}code: "UNKNOWN"errno: "UNKNOWN"message: "spawn UNKNOWN" 

我已经确认path.join到.exe是正确的。

我也试过了

 game.process.stdout.on('error'... 

但永远不会发生。

编辑,我也试过另一种方法:

 var child = execFile(path.join(config.values.armaPath, 'arma3.exe'), function(error,stdout,stderr) { if (error) { console.log(error.stack); console.log('Error code: '+ error.code); console.log('Signal received: '+ error.signal); } console.log('Child Process stdout: '+ stdout); console.log('Child Process stderr: '+ stderr); } ); 

但是,只是相同的代码错误,就像try / catch块错误被抛出之前,从spawn函数调用被调用。

有趣的是,我已经尝试在相同的目录中调用一个.exe,它确实工作…

目标.exe有“运行这个程序作为pipe理员”打勾。 为了让node-webkit执行它,我的节点应用程序也必须以pipe理员身份运行。