electron 应用自解压打包及安全签名

electron 应用打包后,需要使用 WinRar 生成独立的 exe 运行文件,而且运行时,还要解决 360 安全警告问题,进行应用签名,可以申请 Microsoft 的免费签名证书

1. WinRar 自解压打包

之前文章electron 打包 react 项目详解中介绍了 electron-builder 可以将 react 应用打包成桌面端应用。

可以打包成 demo-setup.exe 安装文件,需要安装才能使用;

也可以打包成免安装文件夹 win-ia32-unpacked/demo.exe,里面有直接执行的 exe 应用文件

但是项目上要求只能有一个 exe 文件,可以直接运行,而且是放在 U 盘中自启动运行的,独立的 exe 程序。。。。。。我只能无语了

解决办法:使用 windows 的 WinRar 工具,进行自解压文件配置压缩处理。

  1. 右键选中 win-ia32-unpacked 文件夹,选择添加到压缩文件RAR

  2. 常规配置:选择 创建自解压格式压缩文件,压缩方式建议选存储

压缩文件名就会从 win-ia32-unpacked.rar 变成 win-ia32-unpacked.exe,满足项目要求了

当然自己也可以随意更改名称,保证后缀名就行

  1. 高级-自解压选项配置,配置自解压格式

  2. 高级-自解压选项-设置配置:"解压后运行"的文件win-ia32-unpacked\demo.exe

注意:文件名一定要匹配 目录文件夹+里面的运行exe文件名 错了是没法启动electron应用的。

  1. 高级-自解压选项-模式配置: 选择解包到临时文件夹,下方选全部隐藏

注意:此处一定要选择"全部隐藏",不然运行时,会出现一个弹框,影响执行效果

  1. 高级-自解压选项-更新配置:选择"解压并替换所有文件"

注意:这一步会导致自解压打包后的文件,运行时会有一段空白时间,因为要覆盖替换。这个过程是必须的,目前没办法避免,没法做到立即执行。

如果掘友们有办法的话,欢迎评论区指导!!!!!!!!,求解决办法!!!

  1. 高级-自解压选项-文本和图标配置:设置压缩后的 icon,需要.ico图片

这个也是项目必须配置的,不然会用默认的图标

2. electron 应用签名

上面打包的 electron 应用运行时,会被 360 拦截,提示警告,这是360的一个误报,有些坑呀。。。

只能说360权限太高了,而使用360的人还不少

警告信息如下:

发起来源为 C:\\windows\explorer.exe

U 盘中有风险程序正准备运行,建议阻止

用户体验肯定不好呀,插个 U 盘提示这个,正常人都害怕呀,就给禁止了!!!

要解决这个问题,你可以尝试以下步骤:

  1. 将 Electron 应用添加到 360 的信任列表中

    在设置或管理界面中寻找"信任的应用程序"或"白名单",然后将 Electron 应用的路径添加进去。

  2. 找 360 厂商反馈呀,让他们协助解决。

  3. 在代码层面,可以尝试使用数字签名来解决这个问题。

    数字签名可以帮助验证软件的真实性,并减少杀毒软件误报的可能性。

electron打包数字签名的具体配置,可以查看如下官网:

数字证书申请有如下方式,我选的第二种,通过率更高一点吧:

(1)使用 Let's Encrypt 免费证书

安装 Certbot: 访问 certbot.eff.org/instruction...,按照流程生成证书。

(2)申请 Microsoft 的免费签名证书

登录到 Windows 开发人员中心,创建开发者账户,然后"创建签名证书",按照页面指引,生成用于签名应用程序的证书

注意:注册 Windows 开发者账号需要支付一次性的费用

相关推荐
古蓬莱掌管玉米的神6 小时前
vue3语法watch与watchEffect
前端·javascript
林涧泣6 小时前
【Uniapp-Vue3】uni-icons的安装和使用
前端·vue.js·uni-app
雾恋6 小时前
AI导航工具我开源了利用node爬取了几百条数据
前端·开源·github
拉一次撑死狗6 小时前
Vue基础(2)
前端·javascript·vue.js
祯民7 小时前
两年工作之余,我在清华大学出版社出版了一本 AI 应用书籍
前端·aigc
热情仔7 小时前
mock可视化&生成前端代码
前端
m0_748246357 小时前
SpringBoot返回文件让前端下载的几种方式
前端·spring boot·后端
wjs04067 小时前
用css实现一个类似于elementUI中Loading组件有缺口的加载圆环
前端·css·elementui·css实现loading圆环
爱趣五科技7 小时前
无界云剪音频教程:提升视频质感
前端·音视频
计算机-秋大田8 小时前
基于微信小程序的校园失物招领系统设计与实现(LW+源码+讲解)
java·前端·后端·微信小程序·小程序·课程设计