看到一篇不错的帖子,可能以后会用到,果断收藏

文章来源 博客园jenry(云飞扬)http://www.cnblogs.com/jenry/archive/2006/08/15/477302.html

由于微软提供的更新程序使用不方便,所以又写了此程序。此程序是本人一年前所写的一段程序,当时在开发一个CS版本报价系统,当时由于开发过程仓促,代码可能有点不是太规范此程序编译后只有一下AutoUpdate.exe文件与一个配置文件UpdateList.xml,主要通过本地程序与服务端程序文件的版本号来升级与更新本地程序文件。

UpdateList.xml文件内容如下:



<?xml version="1.0" encoding="gb2312"?>

<AutoUpdater>

<description>Application autoUpdate</description>

  <Updater>

 <Url>http://10.0.5.98/SoftUpdate/</Url>

 <LastUpdateTime>2005-09-05</LastUpdateTime>

  </Updater>

  <Application applicationId="ItemSoft">

    <EntryPoint>ItemSoft.exe</EntryPoint>

    <Location>.</Location>

 <Version>1.0.0.0</Version>

  </Application>

  <Files>

    <File Ver="1.0.0.0" Name="ItemSoft.exe" />

    <File Ver="1.0.0.0" Name="Reports\test.txt"/>

    <File Ver="1.0.0.0" Name="Interop.grproLib.dll"/>

    <File Ver="1.0.0.0" Name="Reports\test.grf"/>

  </Files>

</AutoUpdater>



说明:

<description></description>     程序的描述;

<Url></Url>                            更新服务器地址,为一个虚拟目录或站点路径;

<EntryPoint></EntryPoint>      需要更新主程序文件,为exe;

 <Location>.</Location>         需要更新主程序文件所在路径;

<Version>1.0.0.0</Version>   主程序版本号;

  <Files> </Files>                     需要更新的文件列表;Ver:文件版本号,Name:文件名,包括路径(相对);



使用时,在更新服务器上新建Web虚拟目录或站点,然后将需要更新的文件与UpdateList.xml放在上面;

本地将AutoUpdate.exe与UpdateList.xml放在主程序的根目录下。本地UpdateList.xml中的版本号如果小于服务端,自动程序会自动下载所需要更新的文件。

本人的完整.Net打包程序下载中所带的项目中,就使用了此更新程序。

源码下载:/Files/jenry/AutoUpdate.rar

二进制文件下载:/Files/jenry/bin.rar

生成配置文件UpdateList.xml工具:/Files/jenry/AULWriter1.0.rar (由whatisgood 提供,感谢!!)New

C# 实现客户端程序自动更新的更多相关文章

  1. .Net桌面程序自动更新NAppUpdate

    自动更新介绍 我们做了程序,不免会有版本升级,这就需要程序有自动版本升级的功能.应用程序自动更新是由客户端应用程序自身负责从一个已知服务器下载并安装更新,用户唯一需要进行干预的是决定是否愿意现在或以后 ...

  2. nw.js桌面程序自动更新(node.js表白记)

    Hello Google Node.js 一个基于Google V8 的JavaScript引擎. 一个伟大的端至端语言,或许我对你的热爱源自于web这门极富情感的技术吧! 注: 光阴似水,人生若梦, ...

  3. EF-使用迁移技术让程序自动更新数据库表结构

    承接上一篇文章:关于类库中EntityFramework之CodeFirst(代码优先)的操作浅析 本篇讲述的是怎么使用迁移技术让程序自动通过ORM框架将模型实体类结构映射到现有数据库,并新增或修改与 ...

  4. Windows 程序自动更新方案: Squirrel.Windows

    Windows 程序自动更新方案: Squirrel.Windows 1. Squirrel Squirrel 是一组工具和适用于.Net的库,用于管理 Desktop Windows 应用程序的安装 ...

  5. Silverlight OOB 程序自动更新

    Silverlight OOB 程序 提供了非常方便的自动更新功能! 要让 Silverlight OOB 安装到客户端电脑后实现自动更新,必须实现以下两个条件: 一.为 程序的 xap  文件进行签 ...

  6. CS程序自动更新实现原理及代码(支持多版本多文件更新)

    公司主要项目为CS端,经常遇到客户需求变更及bug处理,在没有引用自动更新之前每次更新程序,必须手动对每个客户端进行更新,这样导致技术支持工作量特别大,也给客户不好的印象,因此我需要一个自动更新程序! ...

  7. Winform实现客户端的自动更新

              话不多说,直接上干货.当然也希望各位前辈多多指导. 自动更新客户端的设计原理图 请花两分钟时间,仔细阅读下面这张图,明白客户端自动升级的原理.        自动更新的效果图 1. ...

  8. 利用pre平台实现iOS应用程序自动更新

    // // AppDelegate.m // PreAutoUpdateDemo // // Created by mac on 15/12/18. // Copyright © 2015年 mac. ...

  9. c/s应用程序自动更新组件GeneralUpdate3.2.1发布

    一.组件简介 GeneralUpdate是基于.net standard 开发的一款(c/s应用)自动升级程序.该组件将更新的核心部分抽离出来方便应用于多种项目当中目前适用于wpf,控制台应用,win ...

随机推荐

  1. .net中的emit

      .net中的emit .net中的emit命名空间是system.reflection.emit.可见,emit是作为反射的一个比较高级的功能. 反射允许我们在运行时获取对象的相关信息,并执行对象 ...

  2. 在 go/golang语言中使用 google Protocol Buffer

    怎么在go语言中实用google protocol Buffer呢? 现在的潮流趋势就是一键搞定,跟ubuntu安装软件一样 go get code.google.com/p/goprotobuf/{ ...

  3. QuickWebApi:使用Lambada方式,完成对WebApi的开发和调用。

    QuickWebApi 目的:使用Lambada方式,完成对WebApi的开发和调用. 缘由:为了解耦服务和展现,将越来越多的使用WebApi提供各种服务:随着服务的细化,WebApi的接口将越来越多 ...

  4. 牛顿法(Newton's Method)

    Newton's Method 在求最优解时,前面很多地方都用梯度下降(Gradient Descent)的方法,但由于最优步长很难确定,可能会出现总是在最优解附近徘徊的情况,致使最优解的搜索过程很缓 ...

  5. C/C++基础知识总结——多态性

    1. 多态性的概述 1.1 多态是指同样的消息被不同类型的对象接收时导致不同的行为.所谓消息是指对垒的成员函数的调用,不同行为是指不同的实现. 1.2 多态的实现 (1) 实现角度讲多态可分为两类:编 ...

  6. Asycn/Await 异步编程初窥(二)

    经过总过4天的学习和实践,做完了 WinForm 下 .Net 4.5 的基本异步应用,实现了一个 Http 协议下载的测试程序,为以后使用 .Net 4.5 积累知识和经验.这个小程序完成这样几个作 ...

  7. [转]JavaScriptCore by Example

    原文:http://www.bignerdranch.com/blog/javascriptcore-example/ JavaScriptCore is not a new framework; i ...

  8. 4月13号的web标准化交流化-开端

    这是实习工作的开始,也是正式踏入北京之后去参加的第一个活动.也算是想着法的去融入这个圈子. 这两个分享都是基于nodejs的.nodejs从11年开始就开始红火.但是真正nodejs能用来干什么? 我 ...

  9. 序列化和反序列化的几种方式(DataContractSerializer)

    序列化和反序列化的几种方式(DataContractSerializer) DataContractSerializer 类 使用提供的数据协定,将类型实例序列化和反序列化为 XML 流或文档. 无法 ...

  10. 运用Unity实现依赖注入[结合简单三层实例]

    运用Unity实现依赖注入[结合简单三层实例] 一:理论部分 依赖注入:这是 Ioc 模式的一种特殊情况,是一种基于改变对象的行为而不改变类的内部的接口编程技术.开发人员编写实现接口的类代码,并基于接 ...