Mozilla サポートの検索

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

詳しく学ぶ

このスレッドはアーカイブに保管されました。 必要であれば新たに質問してください。

Running executable using UniversalXPConnect

  • 3 件の返信
  • 1 人がこの問題に困っています
  • 1 回表示
  • 最後の返信者: cor-el

more options

Hi I am using following javascript to run windows program but I get error message ->typeerror:netscape.security.privilegemanager is undefined. I am running firefox version 31. Is this outdated in latest versions of firefox ? If yes, can you please tell me the alternatives ?

function runApp() {

  var ua = navigator.userAgent.toLowerCase();
               if (ua.indexOf("msie") != -1) {
                   MyObject = new ActiveXObject("WScript.Shell")
                   MyObject.Run(path);
               } else {
                   netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                   var exe = window.Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
                   exe.initWithPath(path);
                   var run = window.Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess);
                   run.init(exe);
                   var parameters = ["/c start winword.exe"];
                   run.run(false, parameters, parameters.length);
               }
           } catch (ex) {
               alert(ex.toString());
           }
Hi I am using following javascript to run windows program but I get error message ->typeerror:netscape.security.privilegemanager is undefined. I am running firefox version 31. Is this outdated in latest versions of firefox ? If yes, can you please tell me the alternatives ? function runApp() { var ua = navigator.userAgent.toLowerCase(); if (ua.indexOf("msie") != -1) { MyObject = new ActiveXObject("WScript.Shell") MyObject.Run(path); } else { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var exe = window.Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile); exe.initWithPath(path); var run = window.Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess); run.init(exe); var parameters = ["/c start winword.exe"]; run.run(false, parameters, parameters.length); } } catch (ex) { alert(ex.toString()); }

すべての返信 (3)

more options

Support for UniversalXPConnect has been removed quite some time ago and you can no longer use this method to run privileged code. You would need an extension to run a program.

There are extensions that you can look at.

more options

What do I need to make the following code work? Do I need any adds on for this ?? [Firefox version 31]

//Components.utils.import("resource://gre/modules/FileUtils.jsm");
           //var env = Components.classes["@mozilla.org/process/environment;1"]
           //                    .getService(Components.interfaces.nsIEnvironment);
           //var shell = new FileUtils.File(env.get("COMSPEC"));
           //var args = ["/c", "ping stackoverflow.org"];
           //var process = Components.classes["@mozilla.org/process/util;1"]
           //                        .createInstance(Components.interfaces.nsIProcess);
           //process.init(shell);
           //process.runAsync(args, args.length);
more options

See also:

You need to run such code from within an extension to have the proper chrome privileges.