发布 v1.1 后,用户第二天打开就看到「重启以更新」,一周内大部分人都修好了。
桌面软件 · 打包与分发
自动更新Auto Update
桌面软件不会刷新就变新:要在第一版就内置自动更新——启动检查、后台下载、提示重启;更新包也要签名,否则会被拒绝安装。
先发版:v1.1 修好了崩溃,用户电脑上会变吗
三个用户装着 v1.0,导出时会崩溃。你发布了 v1.1——看每台电脑右上角的版本号怎么走。先不勾任何东西试一次。
GitHub Releaseslatest:v1.0
小王的 MacBookv1.0 正在用 v1.0
小李的 Windowsv1.0 正在用 v1.0
小张的 MacBookv1.0 正在用 v1.0
先不勾任何东西,直接点「发布 v1.1」,看用户电脑会不会变。
知识点:更新器要先住进用户电脑
三台电脑上的版本号已经演过,这里只做命名。
- 网页刷新就是新版;桌面软件不会。负责升级的代码必须已经在用户手上的版本里——所以第一版就要内置。
- 标准三步:启动时检查发布源 → 后台下载 → 提示「重启以更新」;用户可以推迟,退出时再装。
- 更新包也要签名;签名不对时更新器会拒绝安装,旧版照常可用——这是保护,不是故障。
- 没联网、推迟的用户会晚到;发坏了没有「回滚按钮」,只能再发一个修复版本。
什么时候用、怎么用
只要应用会发给别人装,就从 v1.0 开始做。
- 信号:要分发给用户的任何桌面应用;尤其是会频繁修 bug 的早期版本。
- 不适用:只上架应用商店时,更新由商店负责;只给自己用的小工具可以手动重装。
- 指令里写明:v1.0 接入自动更新(如 electron-updater),发布源用 GitHub Releases 或自己的服务器。
- 要求:启动时检查、后台下载、提示重启可推迟;失败只记日志,不影响使用。
- 验收:装 v1.0 → 发布 v1.1 → 看是否收到提示、重启后版本号变了。
正反例:同一个导出崩溃的修复
修复一样,差别只在 v1.0 有没有带更新器。
v1.1 发了,但 v1.0 不会检查;只能群发消息让大家去官网重新下载,很多人一直停在会崩溃的旧版。
快速自测
v1.0 没带自动更新,你在 v1.1 里加上了。已经装了 v1.0 的用户会自动升到 v1.1 吗?
继续查证
术语的技术定义和行为以这些一手或权威资料为准。
下一步学
和本知识点经常一起出现的概念。