Launching an application with XPCOM
Avishkar Autar · Mar 30 2014 · Random
Continuing to document my work with XULRunner, XUL, and XPCOM, here I’m presenting code on how to launch an executable using XPCOM’s nsILocalFile interface fetch the executable file and the nsIProcess interface to execute the process.
// target = path to executable
// args = arguments for executable
function exec(target, args) {
try {
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath(target);
var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
process.init(file);
var args = [''];
process.run(false, args, args.length);
return process;
}
catch (err) {
alert(err);
return null;
}
}