windows系统下的exe,有个"使用管理员权限运行"的概念。如果你希望用户打开exe的时候,就主动申请这个权限的话。那么,您可以使用mt.exe修改exe中的隐藏配置文件,来达到这个目的。但是这里有个更好的方案,如果您使用electron-builder来打包你的exe文件的话,那么,可以简单的配置一个requestedExecutionLevel选项,来达到一样的目的。

使用electron-builder打包exe,如何申请管理员权限? - electron-execute-level
使用electron-builder打包exe,如何申请管理员权限?(图4-1)

本文测试环境:win10/electron-vue/electron-builder@20.38.5

requestedExecutionLevel

不论是使用mt.exe还是使用electron-builder,要配置的项目都是requestedExecutionLevel。可用的选项都是如下三个:

requestedExecutionLevel说明
asInvoker默认配置
requireAdministrator管理员权限
highestAvailable可用的最高权限

electron-builder配置文件

现在假设,您的electron-builder使用单配置文件,也就是说:需要修改package.json文件。修改的节点位置为:build>win>requestedExecutionLevel

{
  "build": {
    //...
    "win": {
      "requestedExecutionLevel": "highestAvailable"
    }
    //...
  },
}

这里requestedExecutionLevel配置为highestAvailable或者requireAdministrator都是可以的。大多数情况下,两者都是等同的。

使用electron-builder打包exe,如何申请管理员权限? - execute-level
使用electron-builder打包exe,如何申请管理员权限?(图4-2)

效果图

配置好选项后,重新构建的安装包,安装之后获得的exe,打开的时候,就会自动请求管理员权限了。在苏南大叔的测试中,参数使用highestAvailable或者requireAdministrator的效果图,都是一样的。效果图如下图所示:

使用electron-builder打包exe,如何申请管理员权限? - execute-level-final
使用electron-builder打包exe,如何申请管理员权限?(图4-3)

相关链接

  • 《如何利用mt.exe改造electron程序,主动申请管理员权限》

https://newsn.net/say/electron-admin-mt.html

延伸阅读

electron-builder的源码中,在下述源码位置:
electron-builder/packages/app-builder-lib/src/options/,有个winOptions.ts文件,这里有更多的windows平台下的electron-builder配置项目。

使用electron-builder打包exe,如何申请管理员权限? - electron-builder-options-windows
使用electron-builder打包exe,如何申请管理员权限?(图4-4)

总结

本文所描述的是使用electron-builder构架打包的时候,最终的exe如何请求管理员权限的配置项目requestedExecutionLevel。注意:是最终的安装好的exe,而不是打包好的安装包exe

更多electron精彩文章,请点击苏南大叔的博客:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   electron

本站的忠实读者小伙伴,正在阅读下面这些文章: