11---
2- sidebar_position : 1
2+ sidebar_position : 2
33---
44
5- ### 1.GeneralUpdate是什么?
65
7- - GeneralUpdate是一款基于.NET Standard2.0开源多平台自动升级组件。
8- - 运行环境:.NET7、.NET MAUI、Visual studio 2022(Preview)
96
10- ![ 功能图] ( imgs/zh/功能图.jpg )
7+ ![ ] ( imgs\GeneralUpdate_h2.png )
8+
9+ ### 1.GeneralUpdate是什么?
10+
11+ GeneralUpdate是一款基于.NET Standard2.0开源多平台自动升级组件。一个小小star是您对我最大的支持,让我们保持更新维护的动力。
1112
1213##### 本项目开源仓库地址
1314
14- - https://github.com/JusterZhu /GeneralUpdate
15- - https://gitee.com/Juster-zhu /GeneralUpdate
15+ - https://github.com/GeneralLibrary /GeneralUpdate
16+ - https://gitee.com/GeneralLibrary /GeneralUpdate
1617
1718##### 相关开源项目仓库地址
1819
19- - GeneralUpdate使用示例:
20+ 当前项目GeneralUpdate
21+
22+ - https://github.com/GeneralLibrary/GeneralUpdate
23+ - https://gitee.com/GeneralLibrary/GeneralUpdate
24+
25+ MAUI GeneralUpdate.Maui
26+
27+ - https://github.com/GeneralLibrary/GeneralUpdate.Maui
2028
21- https://gitee.com/GeneralLibrary/GeneralUpdate-Samples
29+ 打包工具项目地址GeneralUpdate.Tools
2230
23- https://gitee.com/GeneralLibrary/GeneralUpdate-Samples
31+ - https://github.com/GeneralLibrary/GeneralUpdate.Tools
32+ - https://gitee.com/GeneralLibrary/GeneralUpdate.Tools
2433
25- - 更新包打包工具:
34+ 示例项目地址GeneralUpdate-Samples
2635
27- https://gitee .com/GeneralLibrary/GeneralUpdate.Tools
36+ - https://github .com/GeneralLibrary/GeneralUpdate-Samples
2837
29- https://github .com/GeneralLibrary/GeneralUpdate.Tools
38+ - https://gitee .com/GeneralLibrary/GeneralUpdate-Samples
3039
3140##### 帮助文档 #####
3241
3342- 讲解视频: https://www.bilibili.com/video/BV1aX4y137dd
34- - 官方网站: http ://justerzhu.cn/
43+ - 官方网站: https ://www. justerzhu.cn/
3544- 快速启动: https://mp.weixin.qq.com/s/pRKPFe3eC0NSqv9ixXEiTg
3645- 使用教程视频:https://www.bilibili.com/video/BV1FT4y1Y7hV
3746- 帮助文档&官方网站源码仓库:https://github.com/GeneralLibrary/GeneralUpdate-Samples/tree/main/website/doc
3847
3948##### 沟通交流
4049
41- - 免费问题解答: https://github.com/JusterZhu/GeneralUpdate/issues
50+ 本开源项目目前遵循MIT开源协议开源,可免费用于商用。在免费沟通渠道会不定期回答各位开发者的 问题。所有的社区捐赠将用于开源项目的发展建设。代码贡献者将会用捐赠资金进行奖励。
51+
52+ - 免费问题解答: https://github.com/GeneralLibrary/GeneralUpdate/issues
4253- 免费技术交流: .NET技术交流群 341349660
4354- 开源项目使用讨论:GeneralUpdate交流群 748744489
44-
45-
46-
47- ##### 商务合作
48-
49- 定制化二次开发,技术咨询,开源项目打赏。
50-
5155- 关于开源项目一对一问答需付费咨询。
5256
53- - 本开源项目目前遵循MIT开源协议开源,可免费用于商用。在免费沟通渠道会不定期回答各位开发者的 问题。所有的社区捐赠将用于开源项目的发展建设。代码贡献者将会用捐赠资金进行奖励。
5457
55- 5658
57- 一个小小star是您对我最大的支持,让我保持更新维护的动力。
59+ ### 商务合作
5860
61+ 定制化二次开发,技术咨询,开源项目打赏以下是企业咨询、报价、商务合作联系方式(加好友请注明来意拒绝闲聊,推荐加微信)。
5962
63+ ![ ] ( imgs\contact.png )
6064
61- ### 2.使用引导
6265
63- ![ ] ( imgs/bootstrap.jpg )
6466
6567
6668
67- ### 3 .统一语言(Unifying Language)
69+ ### 2 .统一语言(Unifying Language)
6870
6971在开始使用GeneralUpdate之前我们需要先知道体系中的一些基础概念。
7072
@@ -79,38 +81,36 @@ sidebar_position: 1
7981
8082
8183
82- ### 版本号执行标准
84+ #### 版本号执行标准
8385
8486- Nuget版本管理参考标准:https://docs.microsoft.com/zh-cn/nuget/concepts/package-versioning
8587- 应用程序集版本管理参考标准:https://docs.microsoft.com/zh-cn/dotnet/standard/assembly/versioning (被组件更新的客户端程序,说通俗点就是你公司的产品;组件的操作将按照这个标准执行。)
8688- 每次迭代除了更新AssemblyInfo中的版本号,还需要修改DLL文件的版本号。
8789
8890
8991
90- ### 4 .GeneralUpdate提供什么?
92+ ### 3 .GeneralUpdate提供什么?
9193
9294##### 组件功能
9395
94- | 功能 | 是否支持 | 备注 |
95- | ------------------------------ | -------- | ------------------------------------------------------------ |
96- | 断点续传 | 支持 | 单次更新失败时,下次一次启动时继续上一次更新下载更新包内容。(引用组件默认生效) |
97- | 逐版本更新 | 支持 | 客户端当前版本如果与服务器相差多个版本,则根据多个版本的发布日期逐个更新。(引用组件默认生效) |
98- | 二进制差分更新 | 支持 | 对比新老版本通过差分算法生成补丁文件。(引用组件默认生效) |
99- | 增量更新功能 | 支持 | 相比上一个版本只更新当前修改过的文件,并且删除当前版本不存在的文件。(引用组件默认生效) |
100- | 强制更新 | 支持 | 打开客户端之后直接强制更新。 |
101- | 多分支更新 | 支持 | 当一个产品有多个分支时,需要根据不同的分支更新对应的内容。 |
102- | 最新版本推送 | 支持 | 基于Signal R实现,推送当前最新版本。 |
103- | 客户端程序、服务端程序应用更新 | 支持 | C/S和B/S程序均可使用。 |
104- | 多平台、操作系统 | 部分支持 | Windows、MAUI Android平台 |
105- | 多语言 | 待验证 | 也可将本组件编写为控制台程序,作为更新“脚本”。更新其他语言的应用程序。 |
106- | 跳过更新 | 支持 | 支持注入弹窗让用户决定是否更新本次发布,服务端决定强制时更新不生效。 |
107- | 相互升级 | 支持 | 主程序可更新升级程序,升级程序可更新主程序。 |
108- | 黑名单 | 支持 | 在更新过程中会跳过黑名单中的文件列表和文件扩展名列表。 |
109- | OSS | 支持 | 极简化更新,是一套独立的更新机制。只需要在文件服务器中放置version.json的版本配置文件。组件会根据配置文件中的版本信息进行更新下载。(支持Windows,MAUI Android) |
110- | 回滚 | 待测试 | 逐版本更新时会备份每个版本,如果更新失败则逐版本回滚。 |
111- | 驱动更新 | 待测试 | 逐版本更新时会备份每个版本的驱动文件(.inf),如果更新失败则逐版本回滚。 |
112- | 遗言 | 待测试 | 开机时和升级时会检查升级是否成功,如果失败则根据遗言还原之前的备份。遗言是更新之前就已经自动创建在C:\generalupdate_willmessages目录下的will_message.json文件。will_message.json的内容是持久化回滚备份的文件目录相关信息。(需要部署GeneralUpdate.SystemService系统服务) |
113- | 自定义方法列表 | 支持 | 注入一个自定义方法集合,该集合会在更新启动前执行。执行自定义方法列表如果出现任何异常,将通过异常订阅通知。(推荐在更新之前检查当前软件环境) |
96+ | 功能 | 是否支持 | 备注 |
97+ | -------------- | -------- | ------------------------------------------------------------ |
98+ | 断点续传 | 支持 | 单次更新失败时,下次一次启动时继续上一次更新下载更新包内容。(引用组件默认生效) |
99+ | 逐版本更新 | 支持 | 客户端当前版本如果与服务器相差多个版本,则根据多个版本的发布日期逐个更新。(引用组件默认生效) |
100+ | 二进制差分更新 | 支持 | 对比新老版本通过差分算法生成补丁文件。(引用组件默认生效) |
101+ | 增量更新功能 | 支持 | 相比上一个版本只更新当前修改过的文件,并且删除当前版本不存在的文件。(引用组件默认生效) |
102+ | 强制更新 | 支持 | 打开客户端之后直接强制更新。 |
103+ | 多分支更新 | 支持 | 当一个产品有多个分支时,需要根据不同的分支更新对应的内容。 |
104+ | 最新版本推送 | 支持 | 基于Signal R实现,推送当前最新版本。 |
105+ | 多语言 | 待验证 | 也可将本组件编写为控制台程序,作为更新“脚本”。更新其他语言的应用程序。 |
106+ | 跳过更新 | 支持 | 支持注入弹窗让用户决定是否更新本次发布,服务端决定强制时更新不生效。 |
107+ | 相互升级 | 支持 | 主程序可更新升级程序,升级程序可更新主程序。 |
108+ | 黑名单 | 支持 | 在更新过程中会跳过黑名单中的文件列表和文件扩展名列表。 |
109+ | OSS | 支持 | 极简化更新,是一套独立的更新机制。只需要在文件服务器中放置version.json的版本配置文件。组件会根据配置文件中的版本信息进行更新下载。 |
110+ | 回滚、备份 | 支持 | 更新之前会将客户端本地文件备份,如果客户端启动失败或崩溃则回滚覆盖。 |
111+ | 驱动更新 | 待验证 | 更新之前会将驱动备份到本地,如果客户端启动失败或崩溃则回滚覆盖。 |
112+ | 自定义方法列表 | 支持 | 注入一个自定义方法集合,该集合会在更新启动前执行。执行自定义方法列表如果出现任何异常,将通过异常订阅通知。(推荐在更新之前检查当前软件环境) |
113+ | AOT | 支持 | 支持AOT编译发布。 |
114114
115115
116116
@@ -126,38 +126,6 @@ GeneralUpdate.PacketTool使用.NET 8编写的桌面端打包程序。https://git
126126
127127
128128
129- ##### GeneralUpdate.SystemService发布/部署
130-
131- GeneralUpdate.SystemService是一个windows系统服务,并不是部署在服务端的web api。它的主要作用是监听更新过程,以及更新崩溃之后还原。
132-
133- ** 发布:**
134-
135- 推荐发布Single file,如果想发布AOT版本需要移除源码中映射代码。
136-
137- ``` shell
138- dotnet publish -r win-x64 -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true --self-contained true
139- ```
140-
141- ** 创建/部署windows服务:**
142-
143- ``` shell
144- sc create MyWorkerService binPath=" C:\your_path\GeneralUpdate.SystemService.exe"
145- ```
146-
147- ** 启动已部署的windows服务:**
148-
149- ``` shell
150- sc start GeneralUpdate.SystemService
151- ```
152-
153- ** 删除已部署的windows服务:**
154-
155- ``` shell
156- sc delete GeneralUpdate.SystemService
157- ```
158-
159-
160-
161129### 5.GeneralUpdate支持什么?
162130
163131##### .NET框架
@@ -170,29 +138,27 @@ sc delete GeneralUpdate.SystemService
170138
171139##### UI框架
172140
173- | UI框架名称 | 是否支持 |
174- | ----------------- | --------------------- |
175- | WPF | 支持 |
176- | UWP | 商店模式下不可更新 |
177- | MAUI | 目前仅支持Android平台 |
178- | Avalonia | 支持 |
179- | WinUI | 待验证,等待反馈 |
180- | Console(控制台) | 支持 |
181- | Winform | 支持 |
182-
183-
141+ | UI框架名称 | 是否支持 |
142+ | ---------- | --------------------- |
143+ | WPF | 支持 |
144+ | UWP | 商店模式下不可更新 |
145+ | MAUI | 目前仅支持Android平台 |
146+ | Avalonia | 支持 |
147+ | WinUI | 支持 |
148+ | Console | 支持 |
149+ | WinForms | 支持 |
184150
185151##### 操作系统
186152
187153| 操作系统名称 | 是否支持 |
188154| ------------------ | -------- |
189155| Windows | 支持 |
190- | Linux | 待验证 |
191- | Mac | 待验证 |
156+ | Linux | 支持 |
192157| Android | 支持 |
193- | 树莓派(IoT) | 待验证 |
194158| 麒麟V10(飞腾S2500) | 支持 |
195159| 麒麟V10(x64) | 支持 |
160+ | Ubuntu | 支持 |
161+ | 龙芯(Loongnix) | 待验证 |
196162
197163
198164
0 commit comments