分享 5 种 .NET 桌面应用程序自动更新解决方案

0 阅读3分钟

前言

在软件快速迭代的今天,构建高效的自动更新机制已成为 .NET 桌面应用不可或缺的核心能力。它不仅确保用户能即时获取安全补丁、性能优化及最新功能,更能显著降低版本碎片化带来的技术支持成本,从而大幅提升用户体验与维护效率。今天大姚给大家5 种 .NET 桌面应用程序自动更新解决方案,希望可以帮助到有需要的小伙伴。

ClickOnce

ClickOnce 是一种部署技术,可用于创建可安装和运行且用户交互最少的基于 Windows 的自更新应用程序。 如果已使用 Visual Basic 和 Visual C# 开发项目,Visual Studio 将完全支持发布和更新使用 ClickOnce 技术部署的应用程序(支持 .NET 和 .NET Framework 桌面应用程序)。

ClickOnce 部署克服了部署中的三个主要问题:

AutoUpdater.NET

AutoUpdater.NET 是一个 .NET 开源类库,允许.NET 开发者轻松为其传统桌面应用程序项目添加自动更新功能(该库仅适用于 WinForms 或 WPF 应用程序项目)。

支持的.NET 版本

  • .NET Framework 4.6.2 或更高版本。
  • .NET Core 3.1、.NET 5.0 或更高版本。

Squirrel.Windows

Squirrel.Windows 是一个开源项目,旨在提供一套工具和库来全面管理 Windows 桌面应用程序的安装和更新。该项目适用于使用 C# 或其他语言(如C++)编写的应用程序。Squirrel 利用 NuGet包来创建安装和更新包,使得开发者能够轻松地创建安装程序并发布更新。

GeneralUpdate

GeneralUpdate 是一个基于 .NET Standard 2.0 的跨平台应用程序自动升级组件(桌面客户端自动升级解决方案),项目遵循 Apache 2.0 协议开源。该组件不依赖任何 UI 框架,旨在减少更新产生的资源消耗。通过提供一键启动示例,帮助开发者快速理解如何将自动升级功能集成到自己的应用程序中。

.NET 框架支持情况

.NET框架名称是否支持
.NET Core 2.0支持
.NET 5 ... to last version支持
.NET Framework 4.6.1支持

UI 框架支持情况

UI框架名称是否支持
WPF支持
UWP商店模式下不可更新
MAUI目前仅支持Android平台
Avalonia支持
WinUI支持
Console支持
WinForms支持

CheckUpdate.Net

CheckUpdate.Net 是一个基于 WinForm 开发的检查桌面应用程序更新的开源项目,可用于 WinForm、WPF,主要功能包括更新文件、更新程序自身、下载安装包等。主要利用 WebClient 下载服务器网站目录下的文件,安全性暂没有考虑,比较适用于小型项目。

优秀项目和框架精选

本文所有项目都已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发工作效率和质量。假如你有更好的推荐,欢迎大家踊跃提交PR推荐或自荐(让优秀的项目和框架不被埋没🤞)。