如何在其他操作系统中获取firefox.exe和equiv的路径

时间:2014-03-20 05:04:19

标签: firefox-addon

我试图获取主要firefox应用程序的位置,以便我可以使用nsIProcess打开它。

MDN article on nsIProcess

使用此代码我可以获得此应用程序所在的文件夹:

alert(Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("CurProcD", Ci.nsIFile).path)
//returns C:\Program Files\Aurora\browser

MDN article on nsIDirectoryService

然而在Windows中它的firefox.exe我不知道它在其他操作系统中会是什么。那么有没有任何通用的跨平台版本来获取主启动器文件,我可以这样打开:

var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
process.init(execFile);
var args = ["-safe-mode"];
process.run(false, args, args.length);

1 个答案:

答案 0 :(得分:1)

您必须使用(隐藏)键XREExeF

Components.utils.import("resource://gre/modules/FileUtils.jsm");
var exefile = FileUtils.getFile("XREExeF", [])