使用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 的无线升级功能,那时候用的 ...
随机推荐
- RocketMQ集群搭建(3m-3s-async)
RocketMQ集群搭建(3m-3s-async) 各角色介绍 角色 作用 Producer 消息发送者,将消息发送到 Broker.无状态,其与NameServer集群中的一个节点建立长连接,定期从 ...
- 工具-Redis-django存储session(99.6.4)
@ 目录 1.说明 安装 修改设置 2.测试 关于作者 1.说明 之前django的session默认是存在的数据库里面的,我们也可以把session存储在redis里面 安装 pip install ...
- Docker 笔记学习
文章目录 概述 CentOS7 Docker 安装 启动 Docker 后台服务 镜像加速 Docker常用命令 如何创建一个镜像 存储和载入镜像 上传镜像 容器的基本操作 创建容器 终止容器 如何进 ...
- robotframework中的参数展开
robot调用关键字传参的方式是用分隔符分开不同参数,如 keyword arg1 arg2 arg3 arg4 当参数中传入了使用@符号的列表变量时,@符号会将列表展开: @{list1}= Cre ...
- Kubernetes应用管理器OpenKruise之CloneSet
OpenKruise OpenKruise 是 Kubernetes 的一个标准扩展,它可以配合原生 Kubernetes 使用,并为管理应用容器.sidecar.镜像分发等方面提供更加强大和高效的能 ...
- matplotlib学习日记(一)------图表组成元素
1.使用函数绘制matplotlib的图表组成元素 (1)函数plot---变量的变化趋势 import matplotlib.pyplot as plt import numpy as np x ...
- double 转为long类型
System.out.println(new Double(234314.999999999).longValue());//234314 System.out.println(new Double ...
- Java获取某年某月的第一天和最后一天
/** * 获取某年某月的第一天 * @Title:getFisrtDayOfMonth * @Description: * @param:@param year * @param:@param mo ...
- 基于Opencv的简单图像处理
实验环境 本实验均在笔记本电脑完成,电脑的配置如表1所示: 系统 Windows 10 家庭版 处理器 英特尔 Core i5-6200 @ 2.30GHz 双核 主板 宏碁 Zoro_SL 内存 1 ...
- JavaDailyReports10_07
动手动脑① 1 package test_1; 2 3 public class Test { 4 5 public static void main(String[] args) { 6 // TO ...