Търсене в помощните статии

Избягвайте измамите при поддръжката. Никога няма да ви помолим да се обадите или изпратите SMS на телефонен номер или да споделите лична информация. Моля, докладвайте подозрителна активност на "Докладване за злоупотреба".

Научете повече

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.