自动更新组件

一些说明

自动更新几乎每个程序都有。而自动更新的基本方法就是

1.比较本地版本与服务器上的版本,做出是否需要更新的判断

2.如果需要更新则根据配置信息得到需要下载的文件地址列表,然后进行下载

3.将下载的文件替换原来的文件(这里可能需要关闭原来的主程序)

所以花了一点时间写了个自动升级的程序,只要将该程序和指定的配置文件放到源目录中,即可完成自动升级。程序的工作思路是这样的:升级的时候,程序会根据本地配置文件中的NewConfigUrl标签中的值区下载新的升级配置信息到临时目录。然后分析新的配置信息并作出是否需要升级的判断以便完成下载。

配置文件的格式如下:

代码
<?xml version="1.0" encoding="gb2312"?>
<ConfigModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Ver>2.0</Ver> //版本号
<PublishDate>2010-9-4 00:10:00</PublishDate> //发布时间
<NeedRestart>false</NeedRestart> //是否需要重新启动主程序(true or false)
<NeedOpenExe>上网计时小助手.exe</NeedOpenExe> //升级完成后需要打开的程序(包括后缀)
<NeedCloseExe>上网计时小助手</NeedCloseExe> //升级过程中需要关闭的程序(不包括后缀)
<NeedCloseExe>SuspendWindow</NeedCloseExe>
<NewConfigUrl>https://files.cnblogs.com/qianlifeng/UpdateConfig.zip</NewConfigUrl> //服务器中新的配置文件的保存地址
<NewVerDescription>更新说明1</NewVerDescription> //更新说明
<NewVerDescription>更新说明2</NewVerDescription>
<NewVerDescription>更新说明3</NewVerDescription>
  //注意,FileUrlList和FileNameList请成对出现,可出现多对
<FileUrlList>https://files.cnblogs.com/qianlifeng/%e4%b8%8a%e7%bd%91%e8%ae%a1%e6%97%b6%e5%b0%8f%e5%8a%a9%e6%89%8b2.0.zip</FileUrlList> //升级的文件地址
<FileNameList>qlf.zip</FileNameList> //升级的文件名
</ConfigModel>
程序截图


(检查更新)



(下载更新)



使用方法

1.将QLFAutoUpdater.exe和UpdateConfig.config(文件名必须相同)文件拷贝到主程序目录下

2.在服务器端上传新的UpdateConfig.config文件,并将文件地址预先在本地的UpdateConfig.config的NewConfigUrl标签中设置好

3.开启QLFAutoUpdater.exe完成升级

文件下载

     下载自动更新组件(因为程序的界面做了一些美化,所以需要应用QLFUI这个dll,请将这个也添加到源程序根目录下)

原文地址:https://www.cnblogs.com/qianlifeng/p/1817806.html