【问题标题】:Node.js start a program as adminNode.js 以管理员身份启动程序
【发布时间】:2023-03-29 13:43:02
【问题描述】:

我用 C# 编写了一个需要管理员权限才能运行的程序,我还有一个需要执行 C# exe 文件的电子应用程序。 在 C# 清单中,我让它以管理员身份自动运行,但是当所有文件打包在一起以供 Windows 下载时,它没有自动以管理员身份运行提示符。

因此,我需要能够以管理员身份从 node.js 执行 exe 文件,到目前为止我有这个;

var exec = require('child_process').execFile;
    exec('Test.exe', function(err, data) {
        console.log(err);
        console.log(data.toString());                       
    });  

【问题讨论】:

  • 在以管理员身份启动的控制台窗口中执行节点?
  • 这不起作用,因为它在没有管理员的情况下执行了 C# 程序,因此无法正常运行
  • 明确地说,您有一个运行Test.exe打包 Electron 应用程序,但您想以管理员身份运行Test.exe?如果是这样,那么您如何打包您的应用程序?例如。 electron-builderelectron-packagerelectron-winstaller 等...
  • 它是使用 electron-packager 打包的,我已将电子应用程序设置为以管理员身份运行,但是当我打包到 appx 中时,它无法按预期工作
  • 首先,以管理员身份打开cmd。然后运行节点启动程序命令

标签: javascript node.js electron


【解决方案1】:

electron-builder 只能在 Windows 上以管理员身份运行。

只需在您的package.json 中设置此选项:

"build": {
    "win": {
        "requestedExecutionLevel": "requireAdministrator"
    }
}

现在您的整个 Electron 应用程序将以管理员身份运行,您也可以以管理员身份运行 Test.exe

注意:这只适用于electron-builder,不适用于electron-packager

阅读更多关于requestedExecutionLevel的信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 2013-09-18
    相关资源
    最近更新 更多