前言

最近做了一个winform客户端的项目,里面有一个功能是版本更新。以前也有写过,可忘了具体的逻辑。网上也有介绍用发布模式进行更新的,自己尝试后没有成功,提示“vba证书无效”。于是,费了些时间搜索资料,写个通用的更新组件。主要包括两个方面的功能:

1、配置强制更新

2、根据版本号进行更新

第一步、在winform窗体项目中引入 ITWheels.AutoUpdater.dll

如图:

第二步、在代码中使用组件

代码如下:

         private void btnUpdate_Click(object sender, EventArgs e)
{
AutoUpdater updater = new AutoUpdater();
updater.Update("", "http://192.168.1.101:5555/update.xml");
}

代码

这里需要两个参数:

1、本地客户端当前的版本号

2、服务器配置文件的地址 http://192.168.1.101:5555/update.xml

这里使用的是本地IIS配置的网站。

配置文件格式如下,需严格按这个式来配置。

 <?xml version="1.0" encoding="utf-8"?>
<Config>
<Enabled>1</Enabled>
<!--版本号-->
<Version>1.1.0.0</Version>
<!--待升级的文件列表-->
<UpdateFiles>
<file path="test更新.txt" url="http://192.168.1.101:5555/test更新.txt" lastver="1.0.0.0" size="1024" />
</UpdateFiles>
</Config>

iis 网站目录:

这里更新文件和配置文件放一起,可按实际情况在配置文件列表中的url配置 文件所在的地址。

第三步、演示


在初始,winform目录是没有test更新.txt文件。

点击升级/马上更新 后,将可看到文件已下载到启动目录,如图:

升级后的启动目录:

后记


在中演示demo中,我们只配置了一个txt文件。在实际项目中,是需要配置启动exe文件,dll文件,图片文件等。

ps:若有需要源码的,请留言。就不提供下载了。

若是这篇文章对你有帮助,欢迎推荐、评论、点赞。谢谢拉。

组件下载

IT轮子系列(七)——winform 版本更新组件的更多相关文章

  1. 分享几个.NET WinForm开源组件,纪念逐渐远去的WinForm。。。

    前面3个月的时间内,这些.NET开源项目你知道吗?系列文章已经发表了3篇,共计45个平时接触比较少,曾经默默无闻的.NET开源项目,展示给大家,当然不是每个人都能用得上,但也的确是有些人用了,反响还不 ...

  2. IT轮子系列(六)——Excel上传与解析,一套代码解决所有Excel业务上传,你Get到了吗

    前言 在日常开发当中,excel的上传与解析是很常见的.根据业务不同,解析的数据模型也都不一样.不同的数据模型也就需要不同的校验逻辑,这往往需要写多套的代码进行字段的检验,如必填项,数据格式.为了避免 ...

  3. WCF编程系列(七)信道及信道工厂

    WCF编程系列(七)信道及信道工厂   信道及信道栈 前面已经提及过,WCF中客户端与服务端的交互都是通过消息来进行的.消息从客户端传送到服务端会经过多个处理动作,在WCF编程模型中,这些动作是按层 ...

  4. SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现

    原文:SQL Server 2008空间数据应用系列七:基于Bing Maps(Silverlight) 的空间数据展现 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft ...

  5. C语言高速入口系列(七)

    C语言高速入口系列(七) C语言指针进阶 本章引言: 在前面第5节中我们对C语言的指针进行了初步的学习理解;作为C语言的灵魂, C指针肯定没那么简单,在这一节中,我们将会对指针进行进一步的学习,比方二 ...

  6. 7.oracle学习门户系列七---网络管理和配置

    oracle学习门户系列七 网络管理和配置 们学习了模式和用户.包含模式定义以及模式的作用. 这篇我么来看下ORACLE数据库中的网络管理和配置.只是这篇好像和上篇没有继承啊.这怎么看? Ok,事实上 ...

  7. Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager)

    Alamofire源码解读系列(七)之网络监控(NetworkReachabilityManager) 本篇主要讲解iOS开发中的网络监控 前言 在开发中,有时候我们需要获取这些信息: 手机是否联网 ...

  8. java多线程系列(七)---Callable、Future和FutureTask

    Callable.Future和FutureTask 前言:如有不正确的地方,还望指正. 目录 认识cpu.核心与线程 java多线程系列(一)之java多线程技能 java多线程系列(二)之对象变量 ...

  9. java基础解析系列(七)---ThreadLocal原理分析

    java基础解析系列(七)---ThreadLocal原理分析 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)-- ...

随机推荐

  1. 聊聊Condition

    本文可作为传智播客<张孝祥-Java多线程与并发库高级应用>的学习笔记. 上面我们说了Lock,那是对synchronized的一种更为面向对象的替代,在原来的synchronized内部 ...

  2. 再谈机器学习中的归一化方法(Normalization Method)

    机器学习.数据挖掘工作中,数据前期准备.数据预处理过程.特征提取等几个步骤几乎要花费数据工程师一半的工作时间.同时,数据预处理的效果也直接影响了后续模型能否有效的工作.然而,目前的大部分学术研究主要集 ...

  3. Android开发技巧——PagerAdapter的再次简单封装

    这次再对内容为View的ViewPager的适配器PagerAdapter进行简单的封装,支持List数据和SparseArray的数据,带更新视图功能. 首先,先贴上最上面的抽象类代码: /* * ...

  4. 存储那些事儿(三):OpenStack的块存储Cinder与商业存储的融合

    OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算‎软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目.OpenStack是IaaS(基础设施即服务)‎软 ...

  5. 安装Compass时不能访问服务器的问题

    今天安装Compass,居然老是提示网络问题,后来根据错误提示,发现带https的域名是访问不了的,是是SSL问题.后来搜了一下,在stackoverflow找到一个人说,将https的去掉就好了.具 ...

  6. Leetcode_125_Valid Palindrome

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/41488377 Valid Palindrome Given ...

  7. Microsoft Office Excel cannot access the file, There are several possible reasons

    今天在做EXCEL打印读取模板时报错了,错误信息如下: Microsoft Excel cannot access the file 'D:\xx.xlsx'. There are several p ...

  8. Leetcode_100_Same Tree

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42061529 Given two binary trees ...

  9. 浅谈SystemClock 和Thead的区别和联系

    其实将SystemClock 和Thead直接放在一起是不合适的,我们首先来看下他们所在的api. public final class SystemClock extends Object java ...

  10. Ext.Net_1.X_WINDOW遮罩层被GridPanel挡住

    通过调试HTML代码,发现其实是DIV. chrome 中修改DIV Z:INDEX 就不被遮住了?但是又晓得如何修改window的Z:INDEX.那就修改"背景"GP的吧.