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

相关推荐
我是若尘几秒前
前端处理大量并发请求的实用技巧
前端
Lstmxx2 分钟前
Electron:使用数据流的形式加载本地视频
前端·electron·node.js
JunjunZ10 分钟前
unibest框架开发uniapp项目:兼容小程序问题
前端·vue.js
lyc23333311 分钟前
鸿蒙Next应用启动框架AppStartup:流程管理与性能优化🚀
前端
Data_Adventure11 分钟前
Vue 3 作用域插槽:原理剖析与高级应用
前端·vue.js
curdcv_po20 分钟前
报错 /bin/sh: .../scrcpy-server: cannot execute binary file
前端
小公主20 分钟前
用原生 JavaScript 写了一个电影搜索网站,体验拉满🔥
前端·javascript·css
代码小学僧21 分钟前
通俗易懂:给前端开发者的 Docker 入门指南
前端·docker·容器
Moment23 分钟前
为什么我在 NextJs 项目中使用 cookie 存储 token 而不是使用 localstorage
前端·javascript·react.js
lyc23333323 分钟前
鸿蒙Next加解密算法框架入门:安全基石解析🔐
前端