必威体育Betway必威体育官网
当前位置:首页 > IT技术

C# 如何实现winform 软件自动更新程序功能

时间:2019-09-19 19:09:59来源:IT技术作者:seo实验室小编阅读:81次「手机版」
 

c# winform

对于C/S架构来说,软件更新是一个很常用的功能。对于新手来说,软件自动升级功能的开发或许会有点难度。本文根据作者平时工作中实现的一种方式,介绍一种简单的软件自动升级方案

工具/原料

程序中实现

  1. 1

    这本文所述的方案中,主要是根据服务器中软件版本号和本地软件版本号是否一致,来确认程序是否需要升级。

    大致步骤如下:

    1.对比系统中版本号和数据库中存储版本号是否一致,若不一致,则进行系统升级。2.若本地系统版本号与系统中系统版本号不一致,则从ftp上面去下载相应文件的当前版本的软件包;3.把软件包下载到本地某一目录,将软件更新包重命名为后缀名为.zip的文件压缩包。4.此时关掉主程序的进程,并同时开启SystemUpdate.exe,(或者可写一个BAT脚本(该方法有兴趣可以自己实现),启动update.exe;5.update.exe负责解压缩软件升级包,并且把文件解压到系统的安装目录下,替换掉原有的文件。6.解压替换完成后,需要重新开启原程序。7.若文件下载失败或者文件解压失败,需重新下载或者解压缩文件。并提示用户是否继续更新程序。 

  2. 2

    1.首先主程序里面需要有个检查版本号是否一致的方法,用于检查版本是否为最新,版本更新的代码如下所示,自己可根据表名不一致,更改相应的代码即可。

    C# 如何实现winform 软件自动更新程序功能

  3. 3

    2.若存在新的版本,则执行下载操作。首先我们把需要更新的文件上传至FTP,在上传的文件中,每次上传之前需在主程序中,定义好本程序的版本号,一般以定义一个const常量来保存版本号(可十进制或者十六进制,按照自己需求来定义)public const string SoftWareVersion = "16392";//版本号(用于版本升级)。文件下载的方法实现如下图所示,至于FTP上传下载的代码,可在网上参考相应的示例,本文不再提供相应代码。

    C# 如何实现winform 软件自动更新程序功能

  4. 4

    3.文件重命名:由于软件中标准要求,需上传的更新文件不能为压缩文件的形式,因此,本程序中,再上传更新包时,把需要打包的zip文件包,按照标准中的格式命名,然后下载后,重命名为压缩文件,保存到本地种。文件重命名的代码如下所示.

    C# 如何实现winform 软件自动更新程序功能

  5. 5

    4.关闭主程序进程,启动更新程序。这个步骤可通过两种方式实现 1、在主程序中写个函数,关闭主程序进程时,同事启动更新程序,2、写个bat脚本(功能为关闭主程序,启动更新程序),在主程序中调用bat脚本,可根据自己爱好自行选择实现方式。本文采用第一种方式。

    C# 如何实现winform 软件自动更新程序功能

    END

更新程序中实现

  1. 更新程序主要功能包括两个,一个是负责解压下载的文件到主程序目录,另一个功能是,关闭更新程序,启动主程序。

    C# 如何实现winform 软件自动更新程序功能

  2. 1.解压文件到主程序的更新目录:

    C#解压zip文件,有相应的DLL,本文使用的是ICSharpCode.SharpZipLib.dll,可以再网上搜索该DLL,然后调用其中的方法即可。在文件解压完成之后,需删除下载的临时更新文件,不然临时目录下文件积累过多,造成系统资源浪费。解压文件的实现如下所示。

    C# 如何实现winform 软件自动更新程序功能

  3. 2.关闭更新程序,重新启动主程序:文件解压完成之后,我们就完成的系统的更新。此时,关闭更新程序,启动主程序即可。

    C# 如何实现winform 软件自动更新程序功能

    END

注意事项

  • 1.主程序中需要有系统版本常量,每次程序需要升级时,必须修改该常量的值,否则在检测数据库中版本时,无法检测到更新程序。

  • 2.需要更新的文件打包时,需打包成后缀名为.zip的压缩文件格式,否则解压时可能会导致解压失败。

相关阅读

怎么注册手机同花顺炒股软件?

手机同花顺怎么注册?在手机上炒股的话就得交易,可是没有账号怎么交易呢?没有登录账号的就得注册,如果你因为不会注册而点进来的话,那你

酷开创维电视安装软件的最新教程,无需破解就能完成!当贝

很多人在购买智能电视的时候,问的第一句话往往都是“能否安装第三方应用”。但是很多智能电视在更新换代后,都拒绝加入其

【当贝市场】小米电视必装的直播软件,支持七天免费回看

小米电视因为价格适中、质量好而受到广泛家庭的青睐,但是唯一不足的是,小米电视本身是不具备直播功能。今天当贝市场小编就给大家介

BT下载软件比特精灵怎么找种子有哪些方法

比特精灵是著名的BT下载软件,既然是BT下载软件,BT种子自然是必不可少的,巧妇难为无米之炊嘛。但是这BT种子资源要怎么找呢?自从磁链出

微信删除好友后怎么恢复?天津万兴数据恢复软件正版靠谱

摘要:使用微信的朋友有很多,微信现在几乎是中国最受欢迎的网络社交平台。微信聊天和我们平常讲话重要的差别就是微信发送的消息都

分享到:

栏目导航

推荐阅读

热门阅读