Node-webkit child spawn 未知错误

Node-webkit child spawn UNKNOWN error

我正在尝试在我的 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"

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

我也试过了

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);
    }
); 

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

有趣的是,我试过在同一目录中调用 .exe,它确实有效...

目标 .exe 已勾选 "Run this program as an administrator"。为了让 node-webkit 执行它,我的节点应用程序也必须 运行 作为管理员。