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

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

主程序中实现

  • 01

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

  • 02

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

  • 03

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

  • 04

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

  • 05

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

更新程序中实现

  • 01

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

  • 02

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

  • 03

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

(0)

相关推荐

  • 如何一键取消iPhone苹果手机软件自动更新

    我们手机里下载安装了很多应用,软件在手机里自动更新的话很浪费流量,下面给大家介绍如何一键取消iPhone苹果手机软件自动更新.具体如下:1. 第一步,我们先点击打开手机里的设置按钮:2.进入设置后,我 ...

  • iPhone苹果手机软件自动更新功能怎么关闭

    我们在手机上使用的应用程序经常会需要进行更新,但是有的时候我们会觉得更新之后的版本,反而没有没更新之前的好用,那么我们就可以选择不进行自动更新,接下来小编就教大家怎样关闭iPhone手机上的软件自动更 ...

  • 小米手机应用商店怎么设置软件自动更新

    小米手机是我们常用的手机品牌之一,有小伙伴问怎么设置软件自动更新,下面小编介绍一下.具体如下:1. 打开[应用商店]图标2. 点击首页下方的"我的"3. 在个人页面,点击右上角&q ...

  • 如何关闭iPhone手机软件自动更新功能

    现在有很多人在使用iPhone手机,有些用户想知道如何关闭软件自动更新功能,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步根据下图所示,找到并点击[设置]图标.2. 第二步进入[ ...

  • 华为手机鸿蒙系统怎么关闭软件自动更新

    现在有很多人在使用华为手机,有些新用户不知道鸿蒙系统怎么关闭软件自动更新,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步先打开[设置]窗口,接着根据下图所示,依次点击[系统和更新 ...

  • 华为手机软件自动更新如何关

    在我们使用华为手机时,有时会遇到手机软件自动更新的情况出现,十分影响我们的使用操作.那么该怎么关闭软件自动更新呢?不要着急,小编早就为大家准备好了详细的取消方法,快来瞧瞧吧! 操作方法 01 一.打开 ...

  • 华为手机如何关闭软件自动更新和安装

    华为手机是一款很受欢迎的手机,下面介绍华为手机如何关闭软件自动更新和安装,希望对大家有所帮助. 操作方法 01 在主界面点击"应用市场". 02 进入界面后,点击右上角" ...

  • oppo手机如何禁止软件自动更新

    手机软件在使用过程中,有时隔了一段时间再打开软件发现软件已经更新,再想换回原来的版本就很麻烦了,下面就给大家介绍下怎么禁止软件自动更新. 操作方法 01 首先在桌面上找到应用商店,打开. 02 然后点 ...

  • iPhone6s软件自动更新怎么取消

    在iPhone上,你可以在App Store下载游戏.应用等,这些软件每隔一段时间就会出新版,iPhone会自动更新这些软件,如果不想自动更新要怎么关闭呢?现在就为大家简单介绍一下 操作方法 01 首 ...