项目:https://github.com/iccfish/FSLib.App.SimpleUpdater

C/S程式一般需要部署在多台机器上,如果程式有变动,需要一台一台重新安装,相当麻烦,如果我们给程式加入自动升级功能,会方便许多

升级程式的思路可以参考:https://www.cnblogs.com/tuyile006/p/12699972.html

自己做程式比较麻烦,而且健壮性和时效性都不怎么样,使用现有的项目可以更快更好,有时间再自己研究研究怎么写吧

使用方法:

下载:https://www.fishlee.net/service/download/695/%e8%87%aa%e5%8a%a8%e6%9b%b4%e6%96%b0%e5%ba%93_4.3.0.0.7z

现在之后,里面有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实现现有程序升级功能的更多相关文章

  1. IOS应用程序升级

    IOS应用程序升级流程介绍:IOS手机端应用程序需要升级时,打开服务器端html文件(本文为ucab.html文件)->点击在线安装->打开plist文件(本文中为ucab.plist文件 ...

  2. (转)基于企业级证书的IOS应用打包升级功能介绍

    IOS应用程序升级流程介绍:IOS手机端应用程序需要升级时,打开服务器端html文件(本文为ucab.html文件)->点击在线安装->打开plist文件(本文中为ucab.plist文件 ...

  3. 强大的Flutter App升级功能

    注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 应用程序升级功能是App的基础功能之一,如果没有此功能会造 ...

  4. 小程序升级实时音视频录制及播放能力,开放 Wi-Fi、NFC(HCE) 等硬件连接功能

    “ 小程序升级实时音视频录制及播放能力,开放 Wi-Fi.NFC(HCE) 等硬件连接功能.同时提供按需加载.自定义组件和更多访问层级等新特性,增强了第三方平台的能力,以满足日趋丰富的业务需求.” 0 ...

  5. Delphi程序的自动升级功能的实现(AutoUpdate使用指南)

    在UtiMnid组件下,利用auAutoUpgrader实现自动升级(已经测试通过) 第一步:下载AutoUpgrader.Pro.v4.6.4. 第二步:打开AutoUpgrader.Pro.v4. ...

  6. 【干货】WordPress系统级更新,程序升级

    [干货]WordPress系统级更新,程序升级 网站技术日新月异,更新升级是维护工作之一,长时间不升级的程序,就如长时间不维护的建筑物一样,会加速老化.功能逐渐缺失直至无法使用.在使用WordPres ...

  7. NSIS:应用软件自动升级功能的探索与实践

    原文 NSIS:应用软件自动升级功能的探索与实践 记得以前轻狂曾分享过使用第三方软件实现应用软件自动升级功能 (详细http://www.flighty.cn/html/soft/20110106_1 ...

  8. Vs2008应用程序升级为vs2012

    Vs2008应用程序升级为vs2012 编写人:左丘文 2015-5-21 近来一直有想法,想将开发环境升级 vs2008到vs2012,在此做个小结,将自己碰到的一系统问题,分享出来,以供参考.有兴 ...

  9. nRF51822 看门狗和OTA (无线升级功能)的尴尬笔记

    很久没有记笔记了.今天要记点东西,不然以后又忘记了. 随着时代的发展,现在的SDK已经是13.0了.蓝牙5.0也就来了.废话就少说了,记笔记吧. 两年前搞过nRF51822 的无线升级功能,那时候用的 ...

随机推荐

  1. SpringBoot整合RabbitMQ实践教程

    1. MQ   MQ(Message Queue),消息队列,是生产者和消费者模型中传递信息的容器,主要用于线程或进程之间通信.   MQ主要的应用场景为:应用解耦.异步处理,流量削锋,日志处理等. ...

  2. Unity 自动烘培Cpu占用过高电脑卡死

    起因 打开Unity项目   发现右下方一直  

  3. 关于Java Integer和Long直接比较

    Integer和Long不能直接equals比较会返回False Long.class源码 ` public boolean equals(Object obj) { if (obj instance ...

  4. [日常摸鱼]poj1151Atlantis-扫描线

    题意:给一堆长宽平行于坐标轴的长方形求并的面积 我个沙茶快写了一晚上- 大概思想就是先根据$y$坐标排个序,把$y$坐标离散化一下,放到线段树里面维护,这里的写法是让线段树的节点储存这个点对应的整段线 ...

  5. Java项目连接数据库Mysql报错create connection SQLException

    今天编写了一个Java项目,对数据库Mysql的表进行增删改查,然后遇到了这个问题 严重: create connection SQLException, url: jdbc:mysql://loca ...

  6. Python:大神用的贼溜的实用技巧分享

    整理字符串输入 整理用户输入的问题在编程过程中极为常见.通常情况下,将字符转换为小写或大写就够了,有时你可以使用正则表达式模块「Regex」完成这项工作.但是如果问题很复杂,可能有更好的方法来解决: ...

  7. Python读取word文档内容

    1,利用python读取纯文字的word文档,读取段落和段落里的文字. 先读取段落,代码如下: 1 ''' 2 #利用python读取word文档,先读取段落 3 ''' 4 #导入所需库 5 fro ...

  8. hbase:ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not running yet

    hbase连接deug:DEBUG [main-SendThread(bigdata.server1:2181)] - Reading reply sessionid:0x16f764e7f6e000 ...

  9. UnRAID_6.8.2_配置_设置

    UnRAID_6.8.2_配置_设置 转载注明来源: 本文链接 来自osnosn的博客,写于 2020-10-05. 参考: UnRAID download Getting_Started Offic ...

  10. 项目API接口鉴权流程总结

    权益需求对接中,公司跟第三方公司合作,有时我们可能作为甲方,提供接口给对方,有时我们也作为乙方,调对方接口,这就需要API使用签名方法(Sign)对接口进行鉴权.每一次请求都需要在请求中包含签名信息, ...