我正在尝试从我的 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 包还有一些问题:
阿萨尔)
关于node.js - node-windows权限被拒绝-编译后不请求权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59625594/