| |
|
|
开发:
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文件里的版本号
点击更新就出现啦!!!
更新完成之后重新打开文件,就是刚刚我升级过的版本啦! ? 记录菜鸟学习的第一章,如果学会了麻烦给小菜鸡点个赞Thanks?(・ω・)ノ ?--------------------------------------------------------------------------------如有侵权请联系我删除------------- |
|
|
| 开发测试 最新文章 |
| pytest系列——allure之生成测试报告(Wind |
| 某大厂软件测试岗一面笔试题+二面问答题面试 |
| iperf 学习笔记 |
| 关于Python中使用selenium八大定位方法 |
| 【软件测试】为什么提升不了?8年测试总结再 |
| 软件测试复习 |
| PHP笔记-Smarty模板引擎的使用 |
| C++Test使用入门 |
| 【Java】单元测试 |
| Net core 3.x 获取客户端地址 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/27 4:47:55- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |