GeneralUpdate

April 12, 2026 Β· View on GitHub

GeneralUpdate

Unlimited Updates, Boundless Upgrades.

GeneralUpdate is a cross-platform application auto-upgrade component based on .NET Standard 2.0 and released under the Apache 2.0 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.

δΈ­ζ–‡

[If your company is currently using or planning to use [the product/service] and encountering any issues, or if you need assistance with selection, you are very welcome to join our discussion group for communication. The contact information can be found at the bottom of this page. Developers, if you encounter urgent tasks, please explain the situation in advance, and your inquiries will be prioritized for resolution.]



Share GeneralUpdate Repository

Share on X Share on Telegram Share on WhatsApp Share on Reddit
Share on Weibo Share on Mastodon Share on LinkedIn

Unlimited Updates, Boundless Upgrades.

GeneralSpacestation Product Introduction

Automatic Upgrade Management Solution helps you achieve efficient upgrade management and low resource consumption across multiple UI framework technologies and cross-platform client applications.

https://mp.weixin.qq.com/s/DDWrNfII6RtihFrR-UaBTw

🐡AI Wiki

The Wiki content is automatically generated by Opendeep AI. View

❀️ Open Source Ecosystem

Special thanks to the authors of the following open source projects for contributing to the open source ecosystem View example code.

NameSupported UI FrameworkTypeRepository URL
Semi.AvaloniaAvaloniaControl LibraryView
Ursa.AvaloniaAvaloniaControl LibraryView
WPFDevelopersWPFControl LibraryView
LayUIWPFControl LibraryView
AntdUIWinformsControl LibraryView

πŸŽͺ Infrastructure

NameDescriptionAddress
GeneralUpdateAutomatic UpdatesGitHub
Gitee
GitCode
GeneralUpdate.MauiMaui Updates (Android)GitHub
Gitee
GitCode
GeneralUpdate.ToolsUpdate Patch Creation ToolGitHub
Gitee
GitCode
GeneralUpdate-SamplesUsage ExamplesGitHub
Gitee
GitCode

πŸ›Έ Quick Start

NameDescriptionAddress
Quick StartQuick startup guide.View
Example CodeExample codes related to automatic upgrades and one-click startup scripts are here.View
Online DocumentationAddress of all related documentation for the component.View
Tutorial VideosDemonstration videos to help understand usage.View
Release NotesDescription of each version iteration.View
Technical ConsultationContact 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

🚲 Supported Features

FeatureSupportedNotes
Resume DownloadsYesIf a single update fails, continue downloading on the next startup. (Default for referenced components)
Version-by-Version UpdatesYesIf 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 UpdatesYesGenerates patch files using differential algorithms by comparing old and new versions. (Default for referenced components)
Incremental Update FunctionYesOnly 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 UpdatesYesDirectly enforce an update after opening the client.
Multiple Branch UpdatesYesWhen a product has multiple branches, update corresponding content based on different branches.
Latest Version PushYesImplemented based on SignalR to push the current latest version.
Multi-languageTo be verifiedThe component can also be written as a console application to update applications in other languages.
Skip UpdatesYesSupports injecting pop-ups to let users decide whether to update the current release; server-side forced updates will not take effect.
Mutual UpgradesYesThe main program can update the upgrade program, and the upgrade program can update the main program.
BlacklistYesSkips files and file extensions listed in the blacklist during the update process.
OSSYesSimplified 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 BackupYesBackups local client files before the update. If the client fails to start or crashes, it will roll back and overwrite.
Driver UpdatesYesImplemented based on the GeneralUpdate.Drivelution component for cross-platform automatic driver updates, supporting Windows, Linux, and macOS platforms. Provides complete functionality including driver validation, backup, rollback, signature verification, and permission management.
Extension ManagementYesImplemented based on the GeneralUpdate.Extension component, providing a VS Code-like extension system. Supports extension catalog management, remote querying, download queue, version compatibility checking, multi-platform support, dependency resolution, rollback mechanism, and event notifications.
Custom Method ListYesInjects 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)
AOTYesSupports AOT compilation release.
Identity authenticationYesIdentity authentication supports HTTP requests to server resources and can pass (token) identity authentication information.

✨ Supported Frameworks

.NET Framework NameSupported
.NET Core 2.0Yes
.NET 5 ... to latest versionYes
.NET Framework 4.6.1Yes
UI Framework NameSupported
WPFYes
UWPNot updatable in store mode
MAUICurrently supports only Android platform
AvaloniaYes
WinUIYes
ConsoleYes
WinFormsYes

🐳 Operating Systems

Operating System NameSupported
WindowsYes
Android (.NET MAUI)Yes
Kirin V10 (Feiteng S2500)Yes
Kirin V10 (Feiteng FT-2000)Yes
Kirin V10 (x64)Yes
Ubuntu 24.04.1 LTSYes
Loongson (Loongnix LoongArch 3A6000)Yes
Huawei Euler (EulerOS - Kunpeng)Yes
Apple Mac (M1)Yes
Tongxin UOS (x64)Yes

πŸ“žContact us

🎏 Code Platforms

GithubGiteeGitCode

πŸ§™ Contributors

Thank you to all who have contributed to this project! You can view the list of contributors here.

🀝 Contributing

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

πŸ“’ License

Copyright Β© 2023 GeneralUpdate.
This project is licensed under the Apache 2.0 license.