| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发工具 -> C#程序自动更新(Winfrom) -> 正文阅读 |
|
[开发工具]C#程序自动更新(Winfrom) |
? ? ? ? ------------------------------Winfrom程序的自动更新,或者提示更新------------------------------------- ? ? ? ? 很多时候给用户提供程序的时候,在你自己增加功能,升级版本的时候,如果没有好的服务器和框架,就需要一直打包更新后的程序文件给到对方,以下方法可以避免这个问题,自己更新了之后所有的用户只要登录系统就可以自动更新 效果如下: ?????????为了方便我们测试,在Windows系统的本机上新建一个测试的网站,用于存储更新的exe程序文件,建好了之后我们再上C#代码。 第一步:? ? ? ? 打开控制面板——程序——Windows功能 第二步?? ? ? ? ?将以下的功能全部打开,打开之后点击确定,系统会自动帮你安装,我使用的是激活过的win10系统专业版的,如果安装出现了错误的情况,请检查你的电脑是否有正常安装.net,电脑如果有提示更新,请将电脑更新到最新的版本。 ?第三步? ? ? ? ?安装完成后,在电脑搜索栏搜索IIS找到以下程序,右键用管理员形式打开,如果没有找到以下程序,代表第二步没有安装成功,可上网查找“如何新建IIS服务”,借鉴安装过程和报错解决方案。 ?第四步? ? ? ? 找到以下目录,右键新建网站 ? ? ? ? 新建的时候会弹出以下选项,主要填写我选择的部分 ? 1、网站名称可以根据自己的喜好填写。 3、我们测试的的话只需要选择自己本机的IP地址,端口尽量设置成别的,如81,82等,以防冲突,我自己设置的是82,主机名指的是你的域名,我们测试的话可以不填写。注意,自己测试的话不要填写域名,因为会影响到后面我们访问网站,我试过用自己的名字,然后我访问的时候发现我的名字已经被人注册过了。 设置完成之后就可以点击确定,生成自己的一个网站 ? ?第五步? ? ? ? 看看我们新建的网站里,浏览目录的功能是否有打开,如果没有打开的话就把此功能打开,方便我们浏览页面,来校验我们设置的网站是否可以在c#代码正常访问。 ?设置完成之后点击浏览网站 ?以下显示界面,或者显示的是空白页面,代表网站可以正常访问 ?如果你的是这一种请检查我上面说的浏览目录的功能是否有打开 ?如果你出现的是DNS错误,请检查你的IP地址是否有设置成你新建站点的IP地址,我的是这样设置的,我选择的地方一般情况都可以照抄,至于为什么要这样,我也不清楚。╮(╯▽╰)╭ ?第六步? ? ? ? ?去网上下载一个Updater.Core.dll的类库,添加到程序的引用,直接百度“Updater.Core.dll”就可以找到,我这里随便新增一个winfrom程序用来演示。 添加Configuration的dll,一般可以直接搜索到 ?第七步? ? ? ? 我们的winfrom程序新增项目的时候都会自带一个app.config文件,在文件上配置以下数据 ?第八步? ? ? ? ?在你新建站点的时候,选择的站点路径文件下新增一个txt文件,不知道站点路径在哪里的请回看第四步,自己定义名称,在文件内维护以下内容之后,把后缀改为xml,红色部分需要修改填入,其他都可以复制粘贴 <?xml version="1.0" encoding="utf-8" ?> ?1、下面是我根据自己建立的网站和程序维护的数据: ? ?备注:applicationId里对应的内容在如下位置,其他的就不用我说了吧 ?2、维护好之后保存,改后缀为xml ? 这样就维护好啦? ?第九步? ? ? ? 在自己新建的winfrom项目程序目录下的debug文件下也新增一个txt文件,这个文件必须命名为updateconfiguration,否则会报错,记住,必须命名为updateconfiguration,按照类似第八步的操作,填入以下内容后更改后缀为config文件。 <?xml version="1.0" encoding="utf-8"?> 填好之后如下图所示: ?第十步? ? ? ? 到了最终的上代码环节,引用以下命名空间,如有无法引用请参考第六步 using System.Configuration; 然后新建一个按钮或者注册一个事件输入以下代码 ? ? ? ? ? ? string strUpdate = ConfigurationManager.AppSettings["AutoUpdate"]; // config.AppConfigGet("AutoUpdate"); this.Close(); ?把代码放进去之后,去网上下载一个叫Update的自动更新程序,也丢到根目录下就完成啦 下面我们可以自己做以下测试,首先生成exe程序文件打包放到桌面 首次展示的程序界面是这个样子的,然后我们把界面做一下修改和升级版本,之后再把生成的新版本的exe文件丢到我们的网站目录下,再更新网站目录下的xml文件改为升级过后的版本,再打开试试看。 1、更改界面 2、升级版本之后重新生成exe文件 3、把生成的exe文件丢到网站的默认目录下 4、更新网站默认目录下设置好的xml文件里的版本号 ?5、保存之后回去重新打开之前复制的低版本的桌面程序 点击更新就出现啦!!! ?点击确定之后会弹出这个 更新完成之后重新打开文件,就是刚刚我升级过的版本啦! ? 记录菜鸟学习的第一章,如果学会了麻烦给小菜鸡点个赞Thanks?(・ω・)ノ ?--------------------------------------------------------------------------------如有侵权请联系我删除------------- |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 7:44:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |