实例介绍
c# winform 自动更新程序. web程序更新很简单,不用说了,而在C/S模式下怎么更新程序呢 -c# winform automatic updates. web update is very simple, needless to say, and in the C/S mode, how do update其工作原理如下: Update.asmx 仅提供一个功能,就是检测是否需要更新,在需要更新的时候就返回一个更新地址,通常情况下返回的地址就是Download.ashx,而在某些特殊情况下,也可以修改服务端使之从其他Url提供更新下载。检测是否需要更新的的具体做法是:首先获取Updata目录中的主程序版本号,再获取数据库中的最新版本号,两者对比。如果相同则直接与客户端提供的版本号相对比并返回结果;如果不同则将主程序版本号写入数据库,然后生成新的更新文件包,直接向客户端返回更新地址。 Download.ashx的功能仅仅是将最新版本更新文件包输出。 而客户端部分包含主程序、 Update.exe以及其他附属文件,更新时由主程序检测并下载更新,在主程序退出时,如有更新并已成功下载,则调用Update.exe完成解包及更新覆盖工作。需注意的是:Update.exe永远不能被更新,因为它无法更新其自身,所以服务端更新时也不要将Update.exe纳入更新包。 下面就是来实际编写一个自动更新解决方案: 服务器端 首先建立一个Web服务项目,项目名为“自动更新服务”:
【实例截图】
【核心代码】
4744300845380998195.rar
└── 自动更新程序
├── App.ico
├── AppUpdater.cs
├── AssemblyInfo.cs
├── AutoUpdate.csproj
├── AutoUpdate.csproj.user
├── AutoUpdate.sln
├── AutoUpdate.suo
├── bin
│ └── Debug
│ ├── AutoUpdate.dll
│ ├── AutoUpdate.exe
│ ├── AutoUpdate.pdb
│ ├── AutoUpdate.vshost.exe
│ └── UpdateList.xml
├── FrmUpdate.cs
├── FrmUpdate.resx
├── IniFiles.cs
├── obj
│ ├── AutoUpdate.csproj.FileList.txt
│ └── Debug
│ ├── AutoUpdate.csproj.GenerateResource.Cache
│ ├── AutoUpdate.dll
│ ├── AutoUpdate.exe
│ ├── AutoUpdate.FrmUpdate.resources
│ ├── AutoUpdate.pdb
│ ├── AutoUpdate.projdata
│ ├── temp
│ └── TempPE
├── Server
│ └── UpdateList.xml
├── UpgradeLog.XML
└── XmlFiles.cs
8 directories, 25 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论