栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

C#程序自动更新(Winfrom)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#程序自动更新(Winfrom)

        ------------------------------Winfrom程序的自动更新,或者提示更新-------------------------------------

        很多时候给用户提供程序的时候,在你自己增加功能,升级版本的时候,如果没有好的服务器和框架,就需要一直打包更新后的程序文件给到对方,以下方法可以避免这个问题,自己更新了之后所有的用户只要登录系统就可以自动更新

效果如下:

         为了方便我们测试,在Windows系统的本机上新建一个测试的网站,用于存储更新的exe程序文件,建好了之后我们再上C#代码。

第一步:

        打开控制面板——程序——Windows功能

第二步 

         将以下的功能全部打开,打开之后点击确定,系统会自动帮你安装,我使用的是激活过的win10系统专业版的,如果安装出现了错误的情况,请检查你的电脑是否有正常安装.net,电脑如果有提示更新,请将电脑更新到最新的版本。

 第三步

         安装完成后,在电脑搜索栏搜索IIS找到以下程序,右键用管理员形式打开,如果没有找到以下程序,代表第二步没有安装成功,可上网查找“如何新建IIS服务”,借鉴安装过程和报错解决方案。

 第四步

        找到以下目录,右键新建网站

        新建的时候会弹出以下选项,主要填写我选择的部分

 

1、网站名称可以根据自己的喜好填写。
2、物理路径指的是你存储网站内容的路径,可以自定义新增一个文件夹,我选择的是在自己的F盘。 

3、我们测试的的话只需要选择自己本机的IP地址,端口尽量设置成别的,如81,82等,以防冲突,我自己设置的是82,主机名指的是你的域名,我们测试的话可以不填写。注意,自己测试的话不要填写域名,因为会影响到后面我们访问网站,我试过用自己的名字,然后我访问的时候发现我的名字已经被人注册过了。

设置完成之后就可以点击确定,生成自己的一个网站

 

 第五步

        看看我们新建的网站里,浏览目录的功能是否有打开,如果没有打开的话就把此功能打开,方便我们浏览页面,来校验我们设置的网站是否可以在c#代码正常访问。

 设置完成之后点击浏览网站

 以下显示界面,或者显示的是空白页面,代表网站可以正常访问

 如果你的是这一种请检查我上面说的浏览目录的功能是否有打开

 如果你出现的是DNS错误,请检查你的IP地址是否有设置成你新建站点的IP地址,我的是这样设置的,我选择的地方一般情况都可以照抄,至于为什么要这样,我也不清楚。╮(╯▽╰)╭

 第六步

         去网上下载一个Updater.Core.dll的类库,添加到程序的引用,直接百度“Updater.Core.dll”就可以找到,我这里随便新增一个winfrom程序用来演示。

添加Configuration的dll,一般可以直接搜索到

 第七步

        我们的winfrom程序新增项目的时候都会自带一个app.config文件,在文件上配置以下数据

 第八步

         在你新建站点的时候,选择的站点路径文件下新增一个txt文件,不知道站点路径在哪里的请回看第四步,自己定义名称,在文件内维护以下内容之后,把后缀改为xml,红色部分需要修改填入,其他都可以复制粘贴



  程序初始版本号,如:1.0.0.0
  V1.0.0.0 测试自动更新程序。
 
 
   
   
   
    .
 

 
 
   
      
 

 1、下面是我根据自己建立的网站和程序维护的数据:

 

 备注:applicationId里对应的内容在如下位置,其他的就不用我说了吧

 2、维护好之后保存,改后缀为xml

 

这样就维护好啦 

 第九步

        在自己新建的winfrom项目程序目录下的debug文件下也新增一个txt文件,这个文件必须命名为updateconfiguration,否则会报错,记住,必须命名为updateconfiguration,按照类似第八步的操作,填入以下内容后更改后缀为config文件。


对应winfrom项目属性下的,程序集信息的GUID" manifestUri="网站路径/+第八步新建的xml文件名称,要带上后缀" version="1.0.0.0" title="测试软件-版本更新">

填好之后如下图所示:

 第十步

        到了最终的上代码环节,引用以下命名空间,如有无法引用请参考第六步

using System.Configuration;
using Updater.Core;
using System.Diagnostics;
using System.IO;

然后新建一个按钮或者注册一个事件输入以下代码

            string strUpdate = ConfigurationManager.AppSettings["AutoUpdate"]; // config.AppConfigGet("AutoUpdate");
            if (!string.IsNullOrEmpty(strUpdate))
            {
                bool autoUpdate = false;
                bool.TryParse(strUpdate, out autoUpdate);
                if (autoUpdate)
                {
                    UpdateClass update = new UpdateClass();
                    try
                    {
                        bool newVersion = update.HasNewVersion;
                        if (newVersion)
                        {
                            if (MessageBox.Show("有新的版本,是否需要更新", "更新提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
                            {
                                Process.Start(Path.Combine(Application.StartupPath, "Updater.exe"), "SMT");

this.Close();
                            }
                        }
                        //else
                        //{
                        //    MessageBox.Show("没有要更新的版本,已是最新!", "更新提示", MessageBoxButtons.OK);
                        //}
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                    }
                }
            }

 把代码放进去之后,去网上下载一个叫Update的自动更新程序,也丢到根目录下就完成啦

下面我们可以自己做以下测试,首先生成exe程序文件打包放到桌面

首次展示的程序界面是这个样子的,然后我们把界面做一下修改和升级版本,之后再把生成的新版本的exe文件丢到我们的网站目录下,再更新网站目录下的xml文件改为升级过后的版本,再打开试试看。

1、更改界面

2、升级版本之后重新生成exe文件

3、把生成的exe文件丢到网站的默认目录下

4、更新网站默认目录下设置好的xml文件里的版本号

 5、保存之后回去重新打开之前复制的低版本的桌面程序

点击更新就出现啦!!!

 点击确定之后会弹出这个

更新完成之后重新打开文件,就是刚刚我升级过的版本啦!

 

记录菜鸟学习的第一章,如果学会了麻烦给小菜鸡点个赞Thanks♪(・ω・)ノ

 --------------------------------------------------------------------------------如有侵权请联系我删除-------------

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023022.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号