Windows桌面应用自动更新解决方案SharpUpdater5发布
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
喜爱桌面应用开发的朋友们可以关注一下。
Windows桌面应用自动更新解决方案SharpUpdater5发布的更多相关文章
- Win 7 Windows Update无法自动更新解决方案
最近发现系统很长时间没有自动更新过了,手动更新后,提示返回错误码WindowsUpdate_8024402F.网络上搜索到的解决方法大多是删除更新临时目录,重启WINDOWS UPDATE服务,然而试 ...
- nw.js桌面程序自动更新(node.js表白记)
Hello Google Node.js 一个基于Google V8 的JavaScript引擎. 一个伟大的端至端语言,或许我对你的热爱源自于web这门极富情感的技术吧! 注: 光阴似水,人生若梦, ...
- 彻底关闭windows10自动更新解决方案
window10的自动更新其实和window7和window8都有所不同,有些人认为只要停止了windows updates 就可以了,不会再开始了! 但是往往不是这样的,因为微软在window up ...
- NEO4J中文分词全文索引自动更新解决方案
NEO4J中文分词全文索引自动更新解决方案 一.样例数据 二.英文与中文全文索引差别 1.创建NEO4J默认索引 2.删除索引 3.创建支持中文分词的索引 三.APOC自带英文全文索引过程(可自动更新 ...
- .Net桌面程序自动更新NAppUpdate
自动更新介绍 我们做了程序,不免会有版本升级,这就需要程序有自动版本升级的功能.应用程序自动更新是由客户端应用程序自身负责从一个已知服务器下载并安装更新,用户唯一需要进行干预的是决定是否愿意现在或以后 ...
- Windows程序通用自动更新模块(C#,.NET4.5以上)
本通用自动更新模块适合所有Windows桌面程序的自动更新,不论语言,无论Winform还是wpf. 一.工作流程:1. 主程序A调起升级程序B2. B从服务器获取更新程序列表,打印更新信息.3. B ...
- windows下关闭自动更新方法
第一种方法: 1.windows+R键打开运行窗口,输入services.msc 2.找到windows update服务右键属性 第二种方法 Win键+R键在弹出的运行对话框中输入gpedit.ms ...
- windows系统 svn自动更新
如果对svn不熟悉,当svn上面有更新时,想看到实时效果,就得去web目录手动更新,比较麻烦 其它svn有一个自动更新的功能 利用 hook 在svn 仓库目录下面有一个hook目录 在post- ...
- Windows系统禁止自动更新
Windows + R键 输入services.msc(服务管理窗口) 找到Windows Update 停止且禁用 恢复->第一次失败 无操作 Windows + r 输入gpedit.msc ...
- windows下svn自动更新
配置hooks下post-commit.bat文件,文件内容如下 @echo offSET REPOS=%1SET REV=%2SET DIR=%REPOS%/hooksSET PATH=%PATH% ...
随机推荐
- [密码管理/信息安全] KeePass Java 客户端 : KeePassJava2
序:续<KeePass:密码管理工具> [密码管理/信息安全] 密码管理工具:KeePass vs LastPass vs 1Password - 博客园/千千寰宇 [推荐] 概述 Kee ...
- 快速上手jquery
优点 强大的选择器机制 优质的隐私迭代 链式编程 选择机制 选择器 标签名 $('div') id $('#id') class $('.clname') 属性 $('div:[name='66']' ...
- Docker容器的原理、特征、基本架构、与应用场景
什么是容器? 一句话概括容器:容器就是将软件打包成标准化单元,以用于开发.交付和部署. 容器镜像是轻量的.可执行的独立软件包 ,包含软件运行所需的所有内容:代码.运行时环境.系统工具.系统库和设置. ...
- python实现网页爬虫示例
用python里面的 requests 与 BeautifulSoup 结合,实现网页爬虫示例. 示例一:抓取中国省份: import requests from bs4 import Beautif ...
- Collection接口方法
Collection 接口继承树 Collection 接口Collection 接口是 List.Set 和 Queue 接口的父接口,该接口里定义的方法既可用于操作 Set 集合,也可用于操作 ...
- Luogu P5298 PKUWC2018 Minimax 题解 [ 紫 ] [ 树形 dp ] [ 线段树合并 ] [ 概率 dp ]
Minimax:线段树合并优化 dp 好题. 树形 dp 因为要求出每一个值的出现概率,首先我们可以想到一个很暴力的 dp 式子. 定义 \(dp_{i,j}\) 表示在节点 \(i\) 时,权值 \ ...
- 为 Typecho 添加 B 站蛆音娘表情
首先为什么帮助文档写的很清楚了我还要发,我只是让你们少走弯路一次弄好,后面我会说到 #1. 准备并上传表情文件 首先,你需要在文章底部下载表情文件,对于表情文件,有如下要求和建议: 所有后缀名必须相同 ...
- MySQL - mysql 面试题
事务的四个特点是什么?他们的实现原理是什么? 事务的四个特点是ACID,即原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability). ...
- Ansible - [10] Vault(加密&解密)
加密文件 Ansible 有时需要访问一些敏感数据,如密码.Key等 使用ansible-vault可以加密和解密数据 # 创建测试文件 [root@control ansible]# echo 12 ...
- 分享4款.NET开源、免费、实用的商城系统
前言 今天大姚给大家分享4款.NET开源.免费.实用的商城系统,希望可以帮助到有商城系统开发需求的同学. nopCommerce nopCommerce是一个.NET开源功能丰富.免费.灵活且可定制的 ...