| 1 | # electron-auto-update |
| 2 | |
| 3 | [English](README.md) | 简体中文 |
| 4 | |
| 5 | 使用`electron-updater`实现electron程序的更新检测、下载和安装等功能。 |
| 6 | |
| 7 | ```sh |
| 8 | npm i electron-updater |
| 9 | ``` |
| 10 | |
| 11 | ### 主要逻辑 |
| 12 | |
| 13 | 1. ##### 更新地址、更新信息脚本的配置 |
| 14 | |
| 15 | 在`electron-builder.json5`添加`publish`字段,用来配置更新地址和使用哪种策略作为更新服务 |
| 16 | |
| 17 | ``` json5 |
| 18 | { |
| 19 | "publish": { |
| 20 | "provider": "generic", // 提供者、提供商 |
| 21 | "channel": "latest", // 生成yml文件的名称 |
| 22 | "url": "https://foo.com/" //更新地址 |
| 23 | } |
| 24 | } |
| 25 | ``` |
| 26 | |
| 27 | 更多见 : [electron-builder.json5...](xxx) |
| 28 | |
| 29 | 2. ##### Electron更新逻辑 |
| 30 | |
| 31 | - 检测更新是否可用; |
| 32 | |
| 33 | - 检测服务端的软件版本; |
| 34 | |
| 35 | - 检测更新是否可用; |
| 36 | |
| 37 | - 下载服务端新版软件(当更新可用); |
| 38 | - 安装方式; |
| 39 | |
| 40 | 更多见 : [update...](https://github.com/electron-vite/electron-vite-react/blob/main/electron/main/update.ts) |
| 41 | |
| 42 | 3. ##### Electron更新UI页面 |
| 43 | |
| 44 | 主要功能是:用户触发上述(2.)更新逻辑的UI页面。用户可以通过点击页面触发electron更新的不同功能。 |
| 45 | 更多见 : [components/update.ts...](https://github.com/electron-vite/electron-vite-react/tree/main/src/components/update/index.tsx) |
| 46 | |
| 47 | --- |
| 48 | |
| 49 | 这里建议更新触发以用户操作触发(本项目的以用户点击 **更新检测** 后触发electron更新功能) |
| 50 | |
| 51 | 关于更多使用`electron-updater`进行electron更新,见文档:[auto-update](https://www.electron.build/.html) |
| 52 |