Unlimited Updates, Boundless Upgrades.
GeneralUpdate is a cross-platform application auto-upgrade component based on .NET Standard 2.0 and released under the MIT License.
It does not rely on any UI framework, minimizing resource consumption during updates.
A one-click startup example helps you quickly understand how to integrate automatic upgrade capabilities into your application.
Share GeneralUpdate Repository
Unlimited Updates, Boundless Upgrades.
Special thanks to the authors of the following open source projects for contributing to the open source ecosystem View example code.
Name | Supported UI Framework | Type | Repository URL |
---|---|---|---|
Semi.Avalonia | Avalonia | Control Library | View |
Ursa.Avalonia | Avalonia | Control Library | View |
WPFDevelopers | WPF | Control Library | View |
LayUI | WPF | Control Library | View |
AntdUI | Winforms | Control Library | View |
Name | Description | Address |
---|---|---|
GeneralUpdate | Automatic Updates | GitHub Gitee GitCode |
GeneralUpdate.Maui | Maui Updates (Android) | GitHub Gitee GitCode |
GeneralUpdate.Tools | Update Patch Creation Tool | GitHub Gitee GitCode |
GeneralUpdate-Samples | Usage Examples | GitHub Gitee GitCode |
Name | Description | Address |
---|---|---|
Quick Start | Quick startup guide. | View |
Example Code | Example codes related to automatic upgrades and one-click startup scripts are here. | View |
Online Documentation | Address of all related documentation for the component. | View |
Tutorial Videos | Demonstration videos to help understand usage. | View |
Release Notes | Description of each version iteration. | View |
Technical Consultation | Contact the author to join the discussion group; please ask questions in the discussion group or issue so that everyone can see and avoid duplicate answers. | View |
Feature | Supported | Notes |
---|---|---|
Resume Downloads | Yes | If a single update fails, continue downloading on the next startup. (Default for referenced components) |
Version-by-Version Updates | Yes | If the current client version is multiple versions behind the server, updates will be performed sequentially based on release dates. (Default for referenced components) |
Binary Differential Updates | Yes | Generates patch files using differential algorithms by comparing old and new versions. (Default for referenced components) |
Incremental Update Function | Yes | Only updates files that have been modified compared to the previous version and deletes files that do not exist in the current version. (Default for referenced components) |
Forced Updates | Yes | Directly enforce an update after opening the client. |
Multiple Branch Updates | Yes | When a product has multiple branches, update corresponding content based on different branches. |
Latest Version Push | Yes | Implemented based on SignalR to push the current latest version. |
Multi-language | To be verified | The component can also be written as a console application to update applications in other languages. |
Skip Updates | Yes | Supports injecting pop-ups to let users decide whether to update the current release; server-side forced updates will not take effect. |
Mutual Upgrades | Yes | The main program can update the upgrade program, and the upgrade program can update the main program. |
Blacklist | Yes | Skips files and file extensions listed in the blacklist during the update process. |
OSS | Yes | Simplified updates; it is a standalone update mechanism. Just place the version.json configuration file in the file server. The component will update and download based on the version information in the configuration file. |
Rollback and Backup | Yes | Backups local client files before the update. If the client fails to start or crashes, it will roll back and overwrite. |
Driver Updates | To be verified | Backups drivers locally before updating. If the client fails to start or crashes, it will roll back and overwrite. |
Custom Method List | Yes | Injects a collection of custom methods that will be executed before starting the update. If any exceptions occur during the execution of the custom method list, they will be notified via exception subscriptions. (Recommended to check the current software environment before the update) |
AOT | Yes | Supports AOT compilation release. |
.NET Framework Name | Supported |
---|---|
.NET Core 2.0 | Yes |
.NET 5 ... to latest version | Yes |
.NET Framework 4.6.1 | Yes |
UI Framework Name | Supported |
---|---|
WPF | Yes |
UWP | Not updatable in store mode |
MAUI | Currently supports only Android platform |
Avalonia | Yes |
WinUI | Yes |
Console | Yes |
WinForms | Yes |
Operating System Name | Supported |
---|---|
Windows | Yes |
Android (.NET MAUI) | Yes |
Kirin V10 (Feiteng S2500) | Yes |
Kirin V10 (Feiteng FT-2000) | Yes |
Kirin V10 (x64) | Yes |
Ubuntu 24.04.1 LTS | Yes |
Loongson (Loongnix LoongArch 3A6000) | Yes |
Huawei Euler (EulerOS - Kunpeng) | Yes |
Apple Mac (M1) | Yes |
Tongxin UOS (x64) | Yes |
Github | Gitee | GitCode |
---|---|---|
Thank you to all who have contributed to this project! You can view the list of contributors here.
We warmly welcome all forms of contributions. If you're interested in contributing code, please contact me by submitting an issue and showcase your ideas.
We hope to create a tech-sharing community, an environment that promotes knowledge sharing, idea exchange, and mutual encouragement and collaboration.
We also welcome feedback on product features and user experience to help us improve GeneralUpdate.
Organization Maintainer: @JusterZhu
Copyright © 2023 GeneralUpdate.
This project is licensed under the MIT license.