You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GeneralUpdate is an open-source, cross-platform automatic update component based on .NET Standard 2.0. A small star is your greatest support, motivating us to keep updating and maintaining. ENENENENENENEN
12
12
13
-
##### 本项目开源仓库地址
13
+
##### Project Open Source Repository Address
14
14
15
15
-https://github.com/GeneralLibrary/GeneralUpdate
16
16
-https://gitee.com/GeneralLibrary/GeneralUpdate
17
17
18
-
##### 相关开源项目仓库地址
18
+
##### Related Open Source Project Repository Addresses
This open-source project currently follows the MIT open-source license and can be used for commercial purposes for free. Free communication channels will periodically address developers' questions. All community donations will be used for the development and construction of open-source projects. Code contributors will be rewarded with donation funds.
Customized secondary development, technical consultation, open-source project rewards. Below are the contact details for enterprise inquiries, quotations, and business cooperation (please indicate your purpose when adding as a friend, casual chat is declined, adding on WeChat is recommended).
Before using GeneralUpdate, we need to understand some basic concepts in the system.
82
71
72
+

83
73
84
-
#### 版本号执行标准
74
+
- Client: Refers to your main application, which is the client to be updated. It can also be understood as the company's product.
75
+
- Upgrade: Refers to the upgrade program, which will be an independent process. It needs to be placed in the same directory as the Client and should not be associated with any business or design during use (or coding), maintaining independent reference.
76
+
- Server: Refers to the server application (ASP.NET) that will provide version update information interaction and version verification functions.
77
+
- GeneralUpdate.Tool: Is the packaging tool provided by this open-source project, used to generate update packages (7z and zip).
78
+
- UpdatePacket: As the name suggests, it is an update package. The contents of the update package are patch files (.patch) or new files with content differences between the new and old versions.
79
+
- SQL: Currently, SQL scripts are generated based on the MySQL database.
- Nuget Version Management Reference Standard: https://docs.microsoft.com/zh-cn/nuget/concepts/package-versioning
86
+
- Application Assembly Version Management Reference Standard: https://docs.microsoft.com/zh-cn/dotnet/standard/assembly/versioning (The client program updated by the component, in simple terms, is your company's product; the component's operation will be executed according to this standard.)
87
+
- In each iteration, besides updating the version number in AssemblyInfo, the version number of the DLL file also needs to be modified.
| Resume Download | Yes | When a single update fails, continue with the previous update download content on the next startup. (Enabled by default when referencing the component) |
98
+
| Incremental Update | Yes | Update only the currently modified files compared to the previous version, and delete the files that do not exist in the current version. (Enabled by default when referencing the component) |
99
+
| Binary Differential Update | Yes | Generate patch files by comparing new and old versions using differential algorithms. (Enabled by default when referencing the component) |
100
+
| Incremental Update | Yes | Update only the currently modified files compared to the previous version, and delete the files that do not exist in the current version. (Enabled by default when referencing the component) |
101
+
| Forced Update | Yes | Directly force an update after opening the client. |
102
+
| Multi-branch Update | Yes | When a product has multiple branches, update the corresponding content based on different branches. |
103
+
| Latest Version Push | Yes | Implemented based on Signal R, push the current latest version. |
104
+
| Multi-language | To be verified | The component can also be written as a console program, serving as an update "script" for applications in other languages. |
105
+
| Skip Update | Yes | Support injecting pop-ups to let users decide whether to update this release, with the server deciding that forced updates are not effective. |
106
+
| Mutual Upgrade | Yes | The main program can update the upgrade program, and the upgrade program can update the main program. |
107
+
| Blacklist | Yes | During updates, files and file extensions in the blacklist will be skipped. |
108
+
| OSS | Yes | Simplified update, an independent update mechanism. Just place the version configuration file version.json on the file server. The component will update and download based on the version information in the configuration file. |
109
+
| Rollback, Backup | Yes | Before updating, local files on the client will be backed up. If the client fails to start or crashes, it will roll back and overwrite. |
110
+
| Driver Update | To be verified | Before updating, drivers will be backed up locally. If the client fails to start or crashes, it will roll back and overwrite. |
111
+
| Custom Method List | Yes | Inject a custom method collection that will be executed before the update starts. If any exceptions occur during the execution of the custom method list, they will be notified through exception subscription. (Recommended to check the current software environment before updating) |
112
+
| AOT | Yes | Support AOT compilation and release. |
| Differential Update Package Generation | Yes | Compare the previous version and the current version to find the files that need to be updated or newly added files. |
123
+
| Automatic Upload of Update Packages | In development | Automatically upload the generated differential update packages to the server. |
124
+
| Editable Selection of Differential Files | In development | Visualize the packaging content of the differential package and select packaging files. |
This project is an automatic update component designed and maintained primarily by the author. The goal of this project is to provide a platform for sharing, learning, and innovation for developers and technology enthusiasts worldwide. We are committed to promoting technological development and the power of shared knowledge.
176
169
177
-
谢谢!
170
+
However, we need your support. Your sponsorship will enable us to further improve the quality of the project, add more features, and provide a better user experience. Additionally, as a token of appreciation, we will display your company logo on the project website.
178
171
179
-
作者:Juster Zhu
172
+
This is a great opportunity to not only drive technological advancement but also to enhance your brand's visibility and community influence. We believe your sponsorship will have a profound impact on this open-source project. Furthermore, all sponsorships will be used to purchase GeneralUpdate merchandise to reward community partners who contribute code to the project. If you have made an actual contribution, please contact me via the email below.
180
173
174
+
The size of the project has exceeded the scope of individual maintenance, and designing and maintaining it is not easy. We look forward to your active participation in creating a better future together!
0 commit comments