场景
在下面的场景中可能会需要管理员权限:
- electron开发的软件具有文件操作功能,如果electron安装到C盘,并操作项目中(C盘)的文件,就会因权限不足报错。
- electron需要操作注册表等系统级关键配置
- 某些命令行的运行可能涉及底层,需要管理员权限
electron安装时请求提升权限
上面场景都需要提升electron运行时权限。
比较麻烦的做法是,我们可以每次运行electron时,以管理员身份运行,但是这对用户明显是不太友好的。
另一种做法是,在安装electron时,就提醒用户需要提升权限才可继续安装。
打包electron我用的是electron-builder,需要配置的参数如下:
"allowElevation":true
允许安装时,请求提升权限。
安装时,会出现如图的提示信息:
我的配置模板
"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会使用默认配置。