人人都会AI编程

16.4 更新流程:检查、下载、安装、重启

更新时间:2026-07-11

在 Tauri 中实现应用更新,可以借助官方 tauri-plugin-updater 插件完成,它已经封装了检查、下载、安装和重启的全流程。这个流程完全在应用的后台运行,用户看到的是一个简洁的更新提示,而不是手动下载安装包。

1. 检查更新

应用启动后(或定时触发),会向一个你配置的更新服务器发送一个 HTTP 请求,获取当前最新版本的元信息。这个请求会携带当前版本号和平台标识,服务端返回 JSON 数据,包含最新版本号、更新说明和下载地址等信息。例如:

{
  "version": "1.2.0",
  "notes": "修复了若干已知问题,提升稳定性",
  "pub_date": "2025-03-21T12:00:00Z",
  "platforms": {
    "windows-x86_64": {
      "signature": "dW50...",
      "url": "https://releases.example.com/1.2.0/msi/x86_64"
    }
  }
}

Tauri 会比对本地版本和远端版本(按照语义化版本规则),如果远端版本更高,就触发更新流程;否则什么都不做,用户完全无感。

2. 下载更新

确定需要更新后,插件会自动在后台下载对应的安装包(.msi.nsis 等)。下载过程会显示进度条(如果你在界面上做了相应的监听),并且会校验文件的数字签名(通过 signature 字段),确保安装包未被篡改。下载的文件会存放在系统的临时目录中。

3. 安装更新

下载完成后,插件会直接调用系统原生的安装程序执行“静默安装”。对于 Windows,如果是 .msi 包,会使用 msiexec 命令在后台升级;如果是 NSIS 打包的程序,插件会启动 NSIS 的静默安装参数。整个过程应用仍然处于运行状态,用户不会被强制打断,安装程序会覆盖旧的文件并更新注册表等。

4. 重启应用

安装成功后,插件会通知应用“准备就绪,可以重启以完成更新”。你可以选择立即重启,或提示用户保存当前工作后手动重启。重启逻辑也很简单:插件会启动新版本的可执行文件,然后结束当前进程。Tauri 提供了 restart 命令来实现这个操作,它会自动处理好进程间交接。

关键要点

  • 更新服务器可以按着插件要求的格式自行搭建,也可以使用 GitHub Releases 自动生成兼容的更新清单。
  • 签名验证是强制性的,确保只有你签发的包才能被安装。
  • 静默安装不需要管理员权限(如果安装路径在用户目录下),但 .msi 安装时可能需要提权,这些都可以通过打包配置事先设定好。