diff --git a/README.md b/README.md index dd2ceb23..f66208c1 100644 --- a/README.md +++ b/README.md @@ -2,98 +2,90 @@ ![](https://img.shields.io/github/license/JusterZhu/GeneralUpdate?color=blue) -![](imgs/GeneralUpdate_h.png) +![](imgs/GeneralUpdate_h2.png) [English introduction](https://github.com/JusterZhu/GeneralUpdate/blob/master/README_en.md) ## 1.组件介绍 ## -- GeneralUpdate是一款基于.NET Standard2.0开源自动升级组件。 -- 运行环境:.NET7、.NET MAUI、Visual studio 2022(Preview) - -| 功能 | 是否支持 | 备注 | -| ------------------------------ | -------- | ------------------------------------------------------------ | -| 断点续传 | 支持 | 单次更新失败时,下次一次启动时继续上一次更新下载更新包内容。(引用组件默认生效) | -| 逐版本更新 | 支持 | 客户端当前版本如果与服务器相差多个版本,则根据多个版本的发布日期逐个更新。(引用组件默认生效) | -| 二进制差分更新 | 支持 | 对比新老版本通过差分算法生成补丁文件。(引用组件默认生效) | -| 增量更新功能 | 支持 | 相比上一个版本只更新当前修改过的文件,并且删除当前版本不存在的文件。(引用组件默认生效) | -| 强制更新 | 支持 | 打开客户端之后直接强制更新。 | -| 多分支更新 | 支持 | 当一个产品有多个分支时,需要根据不同的分支更新对应的内容。 | -| 最新版本推送 | 支持 | 基于Signal R实现,推送当前最新版本。 | -| 客户端程序、服务端程序应用更新 | 支持 | C/S和B/S程序均可使用。 | -| 多平台、操作系统 | 部分支持 | Windows、MAUI Android平台 | -| 多语言 | 待验证 | 也可将本组件编写为控制台程序,作为更新“脚本”。更新其他语言的应用程序。 | -| 跳过更新 | 支持 | 支持注入弹窗让用户决定是否更新本次发布,服务端决定强制时更新不生效。 | -| 相互升级 | 支持 | 主程序可更新升级程序,升级程序可更新主程序。 | -| 黑名单 | 支持 | 在更新过程中会跳过黑名单中的文件列表和文件扩展名列表。 | -| OSS | 支持 | 极简化更新,是一套独立的更新机制。只需要在文件服务器中放置version.json的版本配置文件。组件会根据配置文件中的版本信息进行更新下载。(支持Windows,MAUI Android) | -| 回滚 | 待测试 | 逐版本更新时会备份每个版本,如果更新失败则逐版本回滚。 | -| 驱动更新 | 待测试 | 逐版本更新时会备份每个版本的驱动文件(.inf),如果更新失败则逐版本回滚。 | -| 遗言 | 待测试 | 开机时和升级时会检查升级是否成功,如果失败则根据遗言还原之前的备份。遗言是更新之前就已经自动创建在C:\generalupdate_willmessages目录下的will_message.json文件。will_message.json的内容是持久化回滚备份的文件目录相关信息。(需要部署GeneralUpdate.SystemService系统服务) | -| 自定义方法列表 | 支持 | 注入一个自定义方法集合,该集合会在更新启动前执行。执行自定义方法列表如果出现任何异常,将通过异常订阅通知。(推荐在更新之前检查当前软件环境) | - - - -## 2.帮助文档 ## - -- 讲解视频: https://www.bilibili.com/video/BV1aX4y137dd -- 官方网站: http://justerzhu.cn/ -- 快速启动: https://mp.weixin.qq.com/s/pRKPFe3eC0NSqv9ixXEiTg -- 使用教程视频:https://www.bilibili.com/video/BV1FT4y1Y7hV -- 文档:https://gitee.com/GeneralLibrary/GeneralUpdate/tree/master/doc +GeneralUpdate是一款基于.NET Standard2.0开源自动升级组件。 + +帮助文档 -## 3.开源地址 ## +- 官方网站: https://www.justerzhu.cn/ +- 使用教程视频:https://www.bilibili.com/video/BV1FT4y1Y7hV -### 3.1当前项目GeneralUpdate +当前项目GeneralUpdate - https://github.com/JusterZhu/GeneralUpdate - https://gitee.com/Juster-zhu/GeneralUpdate -### 3.2打包工具项目地址GeneralUpdate.Tools +MAUI GeneralUpdate.Maui + +- https://github.com/GeneralLibrary/GeneralUpdate.Maui + +打包工具项目地址GeneralUpdate.Tools - https://github.com/GeneralLibrary/GeneralUpdate.Tools - https://gitee.com/GeneralTeam/GeneralUpdate.Tools -### 3.3示例项目地址GeneralUpdate-Samples +示例项目地址GeneralUpdate-Samples - https://github.com/GeneralLibrary/GeneralUpdate-Samples - https://gitee.com/GeneralTeam/GeneralUpdate-Samples +功能介绍: + +| 功能 | 是否支持 | 备注 | +| -------------- | -------- | ------------------------------------------------------------ | +| 断点续传 | 支持 | 单次更新失败时,下次一次启动时继续上一次更新下载更新包内容。(引用组件默认生效) | +| 逐版本更新 | 支持 | 客户端当前版本如果与服务器相差多个版本,则根据多个版本的发布日期逐个更新。(引用组件默认生效) | +| 二进制差分更新 | 支持 | 对比新老版本通过差分算法生成补丁文件。(引用组件默认生效) | +| 增量更新功能 | 支持 | 相比上一个版本只更新当前修改过的文件,并且删除当前版本不存在的文件。(引用组件默认生效) | +| 强制更新 | 支持 | 打开客户端之后直接强制更新。 | +| 多分支更新 | 支持 | 当一个产品有多个分支时,需要根据不同的分支更新对应的内容。 | +| 最新版本推送 | 支持 | 基于Signal R实现,推送当前最新版本。 | +| 多语言 | 待验证 | 也可将本组件编写为控制台程序,作为更新“脚本”。更新其他语言的应用程序。 | +| 跳过更新 | 支持 | 支持注入弹窗让用户决定是否更新本次发布,服务端决定强制时更新不生效。 | +| 相互升级 | 支持 | 主程序可更新升级程序,升级程序可更新主程序。 | +| 黑名单 | 支持 | 在更新过程中会跳过黑名单中的文件列表和文件扩展名列表。 | +| OSS | 支持 | 极简化更新,是一套独立的更新机制。只需要在文件服务器中放置version.json的版本配置文件。组件会根据配置文件中的版本信息进行更新下载。 | +| 回滚、备份 | 支持 | 更新之前会将客户端本地文件备份,如果客户端启动失败或崩溃则回滚覆盖。 | +| 驱动更新 | 待验证 | 更新之前会将驱动备份到本地,如果客户端启动失败或崩溃则回滚覆盖。 | +| 自定义方法列表 | 支持 | 注入一个自定义方法集合,该集合会在更新启动前执行。执行自定义方法列表如果出现任何异常,将通过异常订阅通知。(推荐在更新之前检查当前软件环境) | +| AOT | 支持 | 支持AOT编译发布。 | -## 4.支持框架 -| 框架名称 | 是否支持 | +## 2.支持框架 + +| .NET框架名称 | 是否支持 | | -------------------------- | -------- | | .NET Core 2.0 | 支持 | | .NET 5 ... to last version | 支持 | | .NET Framework 4.6.1 | 支持 | -| UI框架名称 | 是否支持 | -| ----------------- | --------------------- | -| WPF | 支持 | -| UWP | 商店模式下不可更新 | -| MAUI | 目前仅支持Android平台 | -| Avalonia | 支持 | -| WinUI | 待验证,等待反馈 | -| Console(控制台) | 支持 | -| Winform | 支持 | - -| 服务端框架 | 是否支持 | -| ---------- | -------- | -| ASP.NET | 待验证 | +| UI框架名称 | 是否支持 | +| ---------- | --------------------- | +| WPF | 支持 | +| UWP | 商店模式下不可更新 | +| MAUI | 目前仅支持Android平台 | +| Avalonia | 支持 | +| WinUI | 支持 | +| Console | 支持 | +| WinForms | 支持 | -## 5.操作系统 +## 3.操作系统 | 操作系统名称 | 是否支持 | | ------------ | -------- | | Windows | 支持 | -| Linux | 待验证 | -| Mac | 待验证 | +| Linux | 支持 | | Android | 支持 | -| 树莓派(IoT) | 待验证 | | 麒麟V10(飞腾S2500) | 支持 | | 麒麟V10(x64) | 支持 | +| Ubuntu | 支持 | +| 龙芯(Loongnix) | 待验证 | diff --git a/imgs/1708869360661.jpg b/imgs/1708869360661.jpg deleted file mode 100644 index d2ddd8c5..00000000 Binary files a/imgs/1708869360661.jpg and /dev/null differ diff --git a/imgs/GeneralUpdate_h2.png b/imgs/GeneralUpdate_h2.png new file mode 100644 index 00000000..1e77f863 Binary files /dev/null and b/imgs/GeneralUpdate_h2.png differ