使用SimpleUpdater实现现有程序升级功能
项目:https://github.com/iccfish/FSLib.App.SimpleUpdater
C/S程式一般需要部署在多台机器上,如果程式有变动,需要一台一台重新安装,相当麻烦,如果我们给程式加入自动升级功能,会方便许多
升级程式的思路可以参考:https://www.cnblogs.com/tuyile006/p/12699972.html
自己做程式比较麻烦,而且健壮性和时效性都不怎么样,使用现有的项目可以更快更好,有时间再自己研究研究怎么写吧
使用方法:
现在之后,里面有PDF文档,可以参考,这里做一个简单的介绍
1.项目中引入DLL
下载后在 .\自动更新库\客户端\DLL(.NET4.0-4.5)\ 目录下得到SimpleUpdater.dll文件
visual studio打开项目---》右键引用---》添加引用---》项目(浏览)

2.项目中加入代码
private void button1_Click(object sender, EventArgs e)
{
Updater.CheckUpdateSimple("http://xxx.xxx.xxx.xxx/soft/update/updatetest/{0}", "update_c.xml");
}
两个参数,第一个是更新地址,用{0}作为占位符,因为目录下可能有多个文件,第二个参数是更新配置文件,一般为update_c.xml或者update.xml,update_c.xml是压缩档
3.制作更新包
在解压的包 自动更新库\升级包工具\ 目录下可以找到 自动更新包生成工具.exe,双击更新包生成工具生成更新包

应用程序名称:即待升级的程序名称
当前版本:点击绑定,选择待升级的程序,可以自动读出版本。也可以手填
发布地址:如果填写,会在升级对话框中生成超链接,用户点击后会跳转
新版本目录:新版本程序所在的目录
升级包目录:生成的升级包存放目录
更新后执行:更新后要执行的程序,一般为待更新的程序
点击文件配置选项卡,可以对升级的文件进行单独控制
点击左侧导航栏的根目录,点击需要配置的目录,可以对单个文件控制,例如SimpleUpdater.dll忽略更新,updatetest.exe根据版本更新,配置文件根据MD5值进行更新。
4.上传更新包
点击创建升级包,之后将生成的升级包上传到对应的更新地址中即可。
使用SimpleUpdater实现现有程序升级功能的更多相关文章
- IOS应用程序升级
IOS应用程序升级流程介绍:IOS手机端应用程序需要升级时,打开服务器端html文件(本文为ucab.html文件)->点击在线安装->打开plist文件(本文中为ucab.plist文件 ...
- (转)基于企业级证书的IOS应用打包升级功能介绍
IOS应用程序升级流程介绍:IOS手机端应用程序需要升级时,打开服务器端html文件(本文为ucab.html文件)->点击在线安装->打开plist文件(本文中为ucab.plist文件 ...
- 强大的Flutter App升级功能
注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 应用程序升级功能是App的基础功能之一,如果没有此功能会造 ...
- 小程序升级实时音视频录制及播放能力,开放 Wi-Fi、NFC(HCE) 等硬件连接功能
“ 小程序升级实时音视频录制及播放能力,开放 Wi-Fi.NFC(HCE) 等硬件连接功能.同时提供按需加载.自定义组件和更多访问层级等新特性,增强了第三方平台的能力,以满足日趋丰富的业务需求.” 0 ...
- Delphi程序的自动升级功能的实现(AutoUpdate使用指南)
在UtiMnid组件下,利用auAutoUpgrader实现自动升级(已经测试通过) 第一步:下载AutoUpgrader.Pro.v4.6.4. 第二步:打开AutoUpgrader.Pro.v4. ...
- 【干货】WordPress系统级更新,程序升级
[干货]WordPress系统级更新,程序升级 网站技术日新月异,更新升级是维护工作之一,长时间不升级的程序,就如长时间不维护的建筑物一样,会加速老化.功能逐渐缺失直至无法使用.在使用WordPres ...
- NSIS:应用软件自动升级功能的探索与实践
原文 NSIS:应用软件自动升级功能的探索与实践 记得以前轻狂曾分享过使用第三方软件实现应用软件自动升级功能 (详细http://www.flighty.cn/html/soft/20110106_1 ...
- Vs2008应用程序升级为vs2012
Vs2008应用程序升级为vs2012 编写人:左丘文 2015-5-21 近来一直有想法,想将开发环境升级 vs2008到vs2012,在此做个小结,将自己碰到的一系统问题,分享出来,以供参考.有兴 ...
- nRF51822 看门狗和OTA (无线升级功能)的尴尬笔记
很久没有记笔记了.今天要记点东西,不然以后又忘记了. 随着时代的发展,现在的SDK已经是13.0了.蓝牙5.0也就来了.废话就少说了,记笔记吧. 两年前搞过nRF51822 的无线升级功能,那时候用的 ...
随机推荐
- The Linux Scheduler: a Decade of Wasted Cores
The Linux Scheduler: a Decade of Wasted Cores 这是一篇介绍Linux调度问题的文章,源自这篇文章.文章中涉及到的一些问题可能已经得到解决,但可以学习一下本 ...
- 事件修饰符 阻止冒泡 .stop 阻止默认事件 .prevent
stop修饰符 阻止冒泡行为 可以在函数中利用$event传参通过stopPropagation()阻止冒泡 通过直接在元素中的指令中添加 .stop prevent修饰符 阻止默认行为 可以在函数中 ...
- 云原生网络代理(MOSN)的进化之路
本文系云原生应用最佳实践杭州站活动演讲稿整理.杭州站活动邀请了 Apache APISIX 项目 VP 温铭.又拍云平台开发部高级工程师莫红波.蚂蚁金服技术专家王发康.有赞中间件开发工程师张超,分享云 ...
- Oracle数据导入Mysql中
一.Navicat Premium中的数据迁移工具 为了生产库释放部分资源,需要将API模块迁移到mysql中,及需要导数据. 尝试了oracle to mysql工具,迁移时报错不说,这么大的数据量 ...
- Python高级语法-私有化-私有化理解(4.3.1)
@ 目录 1.说明 2.代码 关于作者 1.说明 __a(私有):只能在类的内部使用,对象使用,但是子类不允许使用,不能导入到其他包 a(protected):可以在子类使用,可以通过对象访问,不能导 ...
- 使用轮询&长轮询实现网页聊天室
前言 如果有一个需求,让你构建一个网络的聊天室,你会怎么解决? 首先,对于HTTP请求来说,Server端总是处于被动的一方,即只能由Browser发送请求,Server才能够被动回应. 也就是说,如 ...
- VC维相关知识
假设空间H(Hypothesis Set) 输入空间D(X1...Xn) 1.增长函数(grown function) 是关于输入空间尺寸n的函数 假设空间对于D中所有实例实现分类(赋予标记)的分类方 ...
- 【kinetic】操作系统探索总结(五)创建简单的机器人模型smartcar
p { margin-bottom: 0.1in; direction: ltr; line-height: 120%; text-align: justify } a:link { color: r ...
- Java学习日报10.1
学习内容一 ********************************** 代码 **********************************public class EnumTest ...
- ACID隔离性
数据库ACID 一致性 原子性 隔离性 持久性 隔离性: 1.读未提交 2.读已提交 3.可重复读 4.串行 读未提交:容易引起脏读 读已提交:容易引起幻读(前后读到的行数不一致) 场景: A事务 ...