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会使用默认配置。

相关推荐
GDAL1 分钟前
HTML Canvas clip 深入全面讲解
前端·javascript·canvas
禾苗种树2 分钟前
在 Vue 3 中使用 ECharts 制作多 Y 轴折线图时,若希望 **Y 轴颜色自动匹配折线颜色**且无需手动干预,可以通过以下步骤实现:
前端·vue.js·echarts
JustHappy25 分钟前
「我们一起做组件库🌻」做个面包屑🥖,Vue的依赖注入实战💉(VersakitUI开发实录)
前端·javascript·github
拉不动的猪42 分钟前
刷刷题16
前端·javascript·面试
祈澈菇凉2 小时前
如何结合使用thread-loader和cache-loader以获得最佳效果?
前端
垣宇2 小时前
Vite 和 Webpack 的区别和选择
前端·webpack·node.js
java1234_小锋2 小时前
一周学会Flask3 Python Web开发-客户端状态信息Cookie以及加密
前端·python·flask·flask3
化作繁星2 小时前
如何在 React 中测试高阶组件?
前端·javascript·react.js
Au_ust2 小时前
千峰React:函数组件使用(2)
前端·javascript·react.js
爱吃南瓜的北瓜2 小时前
npm install 卡在“sill idealTree buildDeps“
前端·npm·node.js