node.js - node-windows权限被拒绝-编译后不请求权限?

标签 node.js electron node-windows

我正在尝试从我的 Electron 应用程序动态安装 Windows 服务。
为此,我正在使用 Node 模块“node-windows”。

这看起来像这样:

service = new Service({
    name: 'Watcher',
    description: 'Watcher',
    script: 'Watcher.js',
    env: {
        name: "SettingsPath",
        value: storage.getDataPath()
    }
});

service.on('install',function(){
    service.start();
});

service.install();

这在我的开发机器上运行良好。
该应用程序请求创建服务的权限并顺利安装。

我的问题
如果我将应用程序编译为 exe,则应用程序不会向我请求权限并打印错误
Permission Denied. Requires administrative privileges.

该应用程序当时成功创建了服务 exe,并且不再执行任何操作。

好的,所以我以管理员权限启动了该应用程序以测试此行为。
很好,应用程序没有显示任何错误,创建服务 exe 啊啊啊安装了服务不是 .

问题
为什么app在编译时不再请求权限?
为什么编译应用时没有安装服务?

如果您需要任何其他信息,请给我写评论。感谢您的宝贵时间。

最佳答案

node-windows 中 elevate.cmd 的路径对于 Electron 应用程序不正确。
i have documented the way of trouble here

发现使用 node-windows 包还有一些问题:

  • 不能使用 Electron asar 文件中的脚本(排除文件或禁用
    阿萨尔)
  • 生成的服务配置的可执行文件路径错误(它是打包的应用程序可执行文件,但必须是 node.exe 或等效的可执行文件)
  • 如果安装了 node.js,服务将仅在目标系统上运行,或者您提供等效的
  • 关于node.js - node-windows权限被拒绝-编译后不请求权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59625594/

    相关文章:

    node.js - 当关键字列表为空时如何返回所有文档

    javascript - 让服务器在崩溃后重新启动

    node.js - TypeScript 编译时找不到外部模块

    javascript - Electron 应用程序 Jquery 模块未加载

    node.js - ENOENT : no such file or directory while exporting csv files in electron app

    module - Electron 原子 - 编译后找不到模块 "Node-Windows"

    javascript - Sequelize : how to get flattened data, 基于嵌套关联加入表时?

    npm - 在 electron@1.8.2 安装后脚本失败

    postgresql - Wiki.js 未运行。数据库连接错误

    node.js - Node 窗口运行子进程.exe