electron-builder允许安装时请求提升权限

场景

在下面的场景中可能会需要管理员权限:

  1. electron开发的软件具有文件操作功能,如果electron安装到C盘,并操作项目中(C盘)的文件,就会因权限不足报错。
  2. electron需要操作注册表等系统级关键配置
  3. 某些命令行的运行可能涉及底层,需要管理员权限

electron安装时请求提升权限

上面场景都需要提升electron运行时权限。

比较麻烦的做法是,我们可以每次运行electron时,以管理员身份运行,但是这对用户明显是不太友好的。

另一种做法是,在安装electron时,就提醒用户需要提升权限才可继续安装。

打包electron我用的是electron-builder,需要配置的参数如下:

c 复制代码
"allowElevation":true

允许安装时,请求提升权限。

安装时,会出现如图的提示信息:

我的配置模板

c 复制代码
"build": {
    "productName": "cnde-OUTSIDE",
    "appId": "cnde",
    "asar": false,
    "directories": {
      "output": "release/1.0.1/OUTSIDE"
    },
    "files": [
      "dist",
      "electron"
    ],
    "nsis": {
      "oneClick": false,
      "perMachine": true,
      "allowToChangeInstallationDirectory": true,
      "include": "./electron/installer-OUTSIDE.nsh",
      "allowElevation": true
    },
    "mac": {
      "category": "your.app.category.type"
    },
    "linux": {
      "target": [
        {
          "target": "AppImage",
          "arch": [
            "arm64"
          ]
        }
      ]
    },
    "win": {
      "icon": "./dist/electron/favicon.ico",
      "target": [
        {
          "target": "nsis",
          "arch": [
            "ia32"
          ]
        }
      ]
    }
  },

把这些配置写在package.json中即可,注意'./electron/installer-OUTSIDE.nsh'与'./dist/electron/favicon.ico'地址,如果不清楚这是在干嘛,也不需要配置,直接删掉这两项配置即可,electron-builder会使用默认配置。

相关推荐
XboxYan1 小时前
CSS 小技巧:如何将 img 转换成 background-image
前端·css
辉长六加12 小时前
nodejs和vue安装步骤记录
前端·javascript·vue.js·npm·node.js
coding随想2 小时前
掌控网页的灵魂!揭秘DOM事件中鼠标与滚轮的终极操控术
前端
Jerry3 小时前
Compose 基础知识测试
前端
changuncle3 小时前
Angular初学者入门第三课——工厂函数(精品)
前端·javascript·angular.js
ScottePerk3 小时前
前端安全之XSS和CSRF
前端·安全·xss
PineappleCoder3 小时前
Canvas 复杂交互步骤:从事件监听 to 重新绘制全流程
前端
s3xysteak3 小时前
我要成为vue高手01:上下文
前端·javascript·vue.js
复苏季风3 小时前
前端居中布局:从 "卡壳" 到 "精通" 的全方位指南
前端·css
qb3 小时前
vue3.5.18源码:computed 在发布订阅者模式中的双重角色
前端·vue.js·架构