You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

生产环境electron-updater报错:新版本未被应用所有者签名问题排查

问题根因

从错误日志中的StatusMessage字段可以直接定位问题:你使用的是自签名代码证书,该证书没有被部署到客户端系统的受信任根证书颁发机构列表中,因此electron-updater的签名校验不通过。
而「预览模式」下不报错是因为electron-updater在非打包的本地运行环境中,默认会跳过代码签名校验逻辑。

排查步骤

  1. 确认签名校验规则:electron-updater对Windows平台安装包的签名校验,不仅要求证书的Subject CN和配置的publisherName一致,还要求证书链完整且受系统信任,自签名证书默认不满足信任条件。
  2. 验证证书信任状态:在测试机器上右键点击安装包→属性→数字签名→选中签名→查看证书,会看到提示「该证书没有被信任」,和日志报错信息完全对应。
  3. 校验打包配置一致性:当前的electron-builder配置、证书Subject、publisherName三者是匹配的,这部分配置没有问题。

解决方法

方案1:使用受信任的正规代码签名证书(生产环境推荐)

直接向全球信任的CA机构购买EV/OV代码签名证书,替换当前的自签名证书,打包后自动满足系统信任要求,无需修改客户端配置。

方案2:部署自签名证书到客户端信任列表(适合内部测试场景)

如果是内部测试用,不想购买正规证书,可以把你的cert.pem根证书批量部署到所有客户端的「受信任的根证书颁发机构」存储区:

  • 手动部署:双击证书→安装证书→本地计算机→受信任的根证书颁发机构→完成安装
  • 批量部署:可以通过组策略、安装包内置静默安装证书脚本实现。

方案3:临时关闭electron-updater的签名校验(仅用于本地开发测试,严禁生产环境使用)

在electron-updater的初始化代码中添加配置,关闭签名校验:

autoUpdater.verifyUpdateCodeSignature = false

注意:该配置会完全绕过更新包的签名校验,存在极大的安全风险,生产环境绝对不能使用。

内容的提问来源于stack exchange,提问作者Victor Gorban

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 13:45:02