C#Winform程序实现软件自动更新-源码展示

周末闲来无事,作为一名工作有四年经验的程序猿,突然想写了一个软件自动更新的功能,下面将详细实现步骤给大家展示一下,程序中有部分方法或者变量可能会存在重复使用,有冗余的地方,自己可适当优化!话不多说了,先看一下视频效果吧!

PS:本人主要做B/S,C/S项目做得少,有问题的大家见谅啦 - -

一、软件开发环境以及开发工具:

框架:.NET Framework 4.0

工具:Visual Studio 2017

插件:DevExpress 18.1.7

环境:IIS 7

二、实现步骤

(1)在项目中创建一个名为WinformAutoUpdate.APP的Winform窗体应用工程,并将默认的Form1.cs窗体文件重命名为MainFrm.cs作为主程序窗体

C#Winform程序实现软件自动更新-源码展示

创建主程序窗体

(2)在项目中再创建一个名为AutoUpdateTask的Winform应用程序工程,并将默认的Form1.cs窗体文件重命名为AutoUpdateTaskFrm.cs作为更新程序窗体

C#Winform程序实现软件自动更新-源码展示

创建更新程序窗体

(3)在更新程序窗体中放入图上所示的相关控件;

进度条控件用于显示更新进度,放入一个Button按钮控件用于用户根据提示进行操作!

实现思路:

1、将更新程序放入磁盘的目录下面,并将其放在已经发布了的IIS中,如下图:

C#Winform程序实现软件自动更新-源码展示

发布更新文件到IIS

当用户在运行主程序窗体并点击左上角的更新按钮时,弹出程序更新窗体,并先自动从IIS中拉取updateList.xml文件,然后与本地程序作对比,检测是否需要升级软件;

如果有新版本发布,则点击“立即更新”按钮,程序将从IIS中拉取新发布的ZIP软件包,并自动解压到主程序目录中,覆盖主程序目录中的相关文件(这里值得注意的是,在解压程序之前,我们需要先结束主程序的进程,不然会因主程序进程正在使用而导致报错,另外,我们用到的插件是ICSharpCode.SharpZipLib.dll第三方动态链接库,网上有现成的,可以直接Down下来用);

C#Winform程序实现软件自动更新-源码展示

发现新版本,更新程序

2、点击“更新完成”按钮后,重启主程序

C#Winform程序实现软件自动更新-源码展示

升级完成之后的界面

3、升级后的主程序界面

C#Winform程序实现软件自动更新-源码展示

升级后的主程序界面

4、上面窗体实现代码如下:

C#Winform程序实现软件自动更新-源码展示

第一屏

C#Winform程序实现软件自动更新-源码展示

第二屏

C#Winform程序实现软件自动更新-源码展示

第三屏

C#Winform程序实现软件自动更新-源码展示

第四屏

程序的实现代码如上面图片所示,本人几乎每行都加了注释,这里再不做详细介绍!本次程序的自动升级功能介绍完毕,可能肯定会有更好的实现方法,可在下方评论,这个仅作为初学者参考,有需要源码的请在评论区扣1,我将私信给友友向您索取电邮,将源代码无偿发送给您参考!


分享到:


相關文章: