SharpUpdater是什么
SharpUpdater是一套C#桌面应用自动更新解决方案。基本上,所有自动更新程序的原理都一样:生成一份文件清单,将本地清单与云上清单对比后进行全量更新或增量更新。本方案的特点是集成了一套完整的工具链,从开发到发布。
版本历史
V1-3 (2016之前)
简单版本,通过各个文件版本逐一对比更新。优点是可以增量更新,缺点是所有文件都要上传到服务器,没有打包,还要允许IIS下载dll.
V4 (2017-2018)
这一版我们技巧性地采用了NuGet的技术方案,生成更新包,并扩展NuGet.Server作为我们的包管理仓库。优点是包管理,缺点是暂时失去了增量更新的能力。但作为以企业内部部署为主的方案我们认为相较于优点,这个缺点可以忽略不计。
组件
|---------------------|--------------------|----------------------------------------------------------------------------------|---------------------------------------------------------------------------|
| 产品名 | 说明 | NuGet/VSIX URL | 源码 |
| SharpUpdater.Server | 服务端,基于NuGet.Server | https://www.nuget.org/packages/SharpUpdater.Server | Github |
| Updater.exe | 客户端 | 暂不发布包,建议下载源码定制 | Github |
| SharpUpdater VSIX | VS扩展,用于打包、发布 | https://marketplace.visualstudio.com/items?itemName=CnSharpStudio.SharpUpdater | Github |
| SharpUpdater.CLI | 命令行工具,用于打包、发布 | https://www.nuget.org/packages/SharpUpdater.CLI | Github |
本版亮点
SharpUpdater5有哪些更新
- 基于.NET Standard重构了Core代码,为日后实现跨平台打下基础
- 重写了VSIX,与VS2022对齐
- 重写了服务端,与NuGet.Server 3.4.2对齐
- 新增了CLI,为喜欢命令行的用户提供简洁强大的dotnet tool
源码
https://github.com/cnsharp/SharpUpdater
喜爱桌面应用开发的朋友们可以关注一下。