【发布时间】:2020-06-18 05:02:34
【问题描述】:
我正在尝试从我的电子应用程序中动态安装 Windows 服务。
为此,我正在使用节点模块“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并且 ahhhhhh 安装了服务NOT。
问题
为什么app在编译时不再请求权限?
为什么编译应用时没有安装服务?
如果您需要任何其他信息,请给我写评论。感谢您的宝贵时间。
【问题讨论】:
-
您解决了这个问题吗?我现在遇到了同样的瓶颈
-
node-windows 中 elevate.cmd 的路径对于电子应用程序不正确...您可以在此处阅读:github.com/coreybutler/node-windows/issues/245
-
但是你会遇到更多问题......服务不能使用 asar 文件中的脚本,所以你必须禁用或排除这些文件......服务配置中的执行路径会是错误的所以你创建后必须编辑此文件...如果在您的软件的目标系统上没有安装 node.js,您需要其他可执行文件....可能是另一件事我不记得 jet....
-
所以我包装没有asar :(。没有其他选择。
标签: node.js electron node-windows