软件自动更新程序 哪里设置软件自动更新
发布日期:2020-11-16摘要:如何让客户端程序 自动更新 版本用C 实现软件自动更新思路前言 长期以来,广大程序员为到底是使用Client Server,还是使用Browser Server结构争论不休,在这些争论当中,C S结构...
如何让客户端程序 自动更新 版本
用C#实现软件自动更新思路前言 长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序可维护性差,布置困难,升级不方便,维护成本高就是一个相当重要的因素。
有很多企业用户就是因为这个原因而放弃使用C/S。
然而当一个应用必须要使用C/S结构才能很好的实现其功能的时候,我们该如何解决客户端的部署与自动升级问题?部署很简单,只要点击安装程序即可,难的在于每当有新版本发布时,能够实现自动升级[3]。
现在好了,我们的目标很简单,我们希望开发一个与具体应用无关的能够复用的自动升级系统。
下面我为大家提供了一套可复用的用C#编写的自动升级系统。
2 实现软件的自动升级存在的困难第一,为了查找远程服务器上的更新,应用程序必须有查询网络的途径,这需要网络编程、简单的应用程序与服务器通讯的协议。
第二是下载。
下载看起来不需要考虑联网的问题,但要考虑下载用户请求的文件,以及在没有用户同意时下载大文件。
友好的自动更新应用程序将使用剩余的带宽下载更新。
这听起来简单,但却是一个技术难题,幸运的是已经有了解决方法。
第三个考虑因素是使用新版应用程序更换原应用程序的过程。
这个问题比较有趣,因为它要求代码运行时将自己从系统删除,有多种办法可以实现该功能[5],本文程序主要通过比较新旧版本的日期号来实现替换新版本应用程序的功能。
3 实现软件自动在线升级的原理写两个程序,一个是主程序;一个是升级程序;所有升级任务都由升级程序完成。
1.启动升级程序,升级程序连接到网站,下载新的主程序(当然还包括支持的库文件、XML配置文档等)到临时文件夹;2.升级程序获取服务器端XML配置文件中新版本程序的更新日期或版本号或文件大小;3.升级程序获取原有客户端应用程序的最近一次更新日期或版本号或文件大小,两者进行比较;如果发现升级程序的日期大于原有程序的最新日期,则提示用户是否升级;或者是采用将现有版本与最新版本作比较,发现最新的则提示用户是否升级;也有人用其它属性如文件大小进行比较,发现升级程序的文件大小大于旧版本的程序的大小则提示用户升级。
本文主要采用比较新旧版本更新日期号来提示用户升级。
4.如果用户选择升级,则获取下载文件列表,开始进行批量下载文档;5.升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序;6.删除旧的主程序,拷贝临时文件夹中的文件到相应的位置;7.检查主程序的状态,若状态为活动的,则启动新的主程序;8.关闭升级程序,升级完成[4]。
4 用C#实现在线升级的关键步骤 这里我主要使用日期信息来检测是否需要下载升级版本。
4.1 准备一个XML配置文件 名称为AutoUpdater.xml,作用是作为一个升级用的模板,显示需要升级的信息。
名称为AutoUpdater.xml,作用是作为一个升级用的模板,显示需要升级的信息。
//xml版本号 http://192.168.198.113/vbroker/log/"/>//升级文件所在服务器端的网址 //升级文件的更新日期 //升级文件的版本号 //升级文件列表 //共有三个文件需升级 //允许重新启动应用程序 //启动的应用程序名 //xml版本号 //升级文件所在服务器端的网址 //升级文件的更新日期 //升级文件的版本号 //升级文件列表 //共有三个文件需升级 //允许重新启动应用程序 //启动的应用程序名 从以上XML文档中可以得知升级文档所在服务器端的地址、升级文档的更新日期、需要升级的文件列表,其中共有三个文件需升级:aa.txt、VB40.rar、VB4-1.CAB。
以及是否允许重新启动应用程序和重新启动的应用程序名。
4.2 获取客户端应用程序及服务器端升级程序的最近一次更新日期 通过GetTheLastUpdateTime()函数来实现。
private string GetTheLastUpdateTime(string Dir) { string LastUpdateTime = ""; string AutoUpdaterFileName = Dir + @"\AutoUpdater.xml"; if(!File.Exists(AutoUpdaterFileName)) return LastUpdateTime; //打开xml文件 FileStream myFile = new FileStream(AutoUpdaterFileName,FileMode.Open); //xml文件阅读器 XmlTextReader xml = new XmlTextReader(myFile); while(xml.Read()) { if(xml.Name == "UpdateTime") { //获取升级文档的最后一次更新日期 LastUpdateTime = xml.GetAttribute("Date"); break; } } xml.Close(); myFile.Close(); return LastUpdateTime; } 通过XmlTextReader打开XML文档,读取更新时间从而获取Date对应的值,即服务器端升级文件的最近一次更新时间。
函数调用实现: //获取客户端指定路径下的应用程序最近一次更新时间 string thePreUpdateDate = GetTheLastUpdateTime(Application.StartupPath); Application.StartupPath指客户端应用程序所在的路径。
//获得从服务器端已下载文档的最近一次更新日期 string theLastsUpdateDate = GetTheLastUpdateTime(theFolder.FullName); theFolder.FullName指在升级文档下载到客户机上的临时文件夹所在的路径。
4.3 比较日期 客户端应用程序最近一次更新日期与服务器端升级程序的最近一次更新日期进行比较。
//获得已下...
怎么关闭软件的自动更新
关闭软件自动更新的方法现在软件的更新速度很快,一个星期甚至几天就要更新一次软件版本,他们大部分都带了自动更新程序的功能,当你打开电脑连上网络,他就会自动检测有没有新版本软件,如果有,自动更新程序就会开始下载更新,这样就会拖慢我们的网速。
大部分软件都有关闭自动更新的设置,下面我以杀毒软件为例子。
进入杀毒软件设置界面 选择关闭自动更新,以后他就不会在动更新。
其他软件关闭自动更新的方法也是这样的,大家在软件设置里认真找一下,都会有关闭软件自动更新的选项,勾选上就可以了。
...
怎样让电脑上的软件自动更新
实现iPhone6手机软件自动更新,也就是把自动更新的功能开启。
软件自动更新最好是在无线网络模式的情况下自动更新,手机流量多的话也可以是蜂窝移动数据模式下自动更新。
开启自动更新软件,点击手机设置——iTunes Store和App Store——自动下载的项目,把里面的应用程序和更新的功能都开启,那么在无线网络的情况下就会自动更新手机上面的应用软件。
慎重的是最下面的使用蜂窝移动数据,这个是耗费的手机流量,所以要慎重使用。
5.打开苹果手机点击设置按钮进入设置选项。
6.向上滑动屏幕找到找到iTunes store与APP store 这个选项。
7.在这里你会看到有自动下载项目下边有一些子选项其中包括用程序、图书、更新。
8.这时请打开更新,以后你的苹果手机将不会自动更新APP。
9.同时注意尽量关闭在蜂窝移动数据下自动更新,如果打开在蜂窝移动数据下自动更新你手机的流。
...
防止软件自动更新
禁止软件自动升级的方法有以下几种:1、在软件”设置“选项里找到”软件更新“,选择其中“不检测更新、不自动更新”、”手动更新“、”如有更新时不要安装,单提醒我“等等之类的选项。
2、删除该软件的自动升级程序,基本的破解版软件都是这样的。
3、用第三方软件来禁止,比如360安全卫士。
360优化加速扫描一下,如果扫描出来的话,就禁止掉。
如果扫不出来的话就用360流量防火墙。
把它禁止访问流量了,那就不能升级了。
很简单,打开360流量防火墙,看到那个升级程序在联网,点击禁止访问网络即可。
...
如何才能不让软件进行自动更新?
就禁止掉。
如果扫不出来的话就用360流量防火墙,不懂会不会有什么影响;3.用360来禁止。
360优化加速扫描一下,如果扫描出来的话。
你想想、不自动更新”等等……不过这不能完全禁止自动升级,自动升级,那肯定是要联网的吧?你把它禁止访问流量了,看到那个升级程序在联网1.在软件选项里设置“不检测更新,那它就不能升级了。
很简单,打开360流量防火墙;2.删除该软件的自动升级程序,很多破解版软件就是这样。
我没试过,因为有些软件会偷偷升级...
怎么禁止Windows上的所有软件自动更新?
1、对于应用程序的更新行为一般在正常情况下需要软件本身支持才可以操作2、可以下载某些免升级、或去更新的相关应用 自己百度:xxx免升级、xxx免更新、xxx去更新3、当然你可以通过防火墙的方式更改相关软件的联网行为,不过这样做意义不大。
有什么软件让游戏自动升级
没有这样的软件,至少我没有见过!因为操作起来不可行。
还是建议你使用手动下载!记下游戏的网址,下一次直接找到就可以了。
或者添加到收藏夹(我是这么做的)。
再有就是下载的时候用迅雷下载,速度比较好!如果不支持迅雷下载,可以用嵌入式的mini迅雷,速度也不慢mini迅雷还是有下载的,你到网上搜嗽看!没你说的那么差吧^_^网吧管理软件一般是这样的:把更新的文件先下载到本地的服务器上,然后再进行文件的比较,从而进行更新!
-
给我们打电话
7*24小时服务热线:1399999999
全国客服热线:400-0000-000 -
百度地图
福建省漳州市 -
给我们发邮件
E-mail:[email protected]
在线沟通