2015-06-12 14 views
5

Ich versuche, eine .exe an anderer Stelle in meinem Windows-Dateisystem zu starten.Node-webkit Kind spawn UNKNOWN Fehler

spawn = require('child_process').spawn; 

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

ich es in einem try/catch und den Fehler eingewickelt habe, ist, ich bin nicht immer hilfreich:

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

ich, dass die path.join auf die .exe bestätigt haben, ist richtig.

Ich habe auch versucht,

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

aber das wird nie ausgelöst.

bearbeiten, habe ich versucht, auch eine andere Methode:

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

Aber dass nur Fehler mit dem gleichen Code, es ist wie der try/catch-Block Fehler aus der Spawn-Funktion vor dem Rückruf ausgelöst werden aufgerufen .

Interessanter habe ich versucht, eine .exe im gleichen Verzeichnis aufrufen und es funktioniert ...

Antwort

5

Das Ziel .exe „Führen Sie dieses Programm als Administrator“ abgehakt hatte. Damit node-webkit es ausführen kann, muss meine Knoten-App auch als Administrator ausgeführt werden.

Verwandte Themen