冷静分析
节目说明:
1 个网站
目的:A.提供下载源(dll、exe、图片...等...所有最新文件)
B. 什么...嗯....获取一个页面并以xml格式输出数据(用.write输出)。这个xml数据应该反映Chrome 自动升级后,本地项目都无法访问,当前版本号Chrome 自动升级后,本地项目都无法访问,文件名等信息,用xml表示如下。(当然完全可以用,不过我个人觉得用xml更专业也更省钱)
2 升级方案一
目的:A.负责判断是否升级
B. 下载需要升级的文件
C. 用新文件替换旧文件
3 你要升级的程序这里就不提了。请参阅下一个详细信息。
非常重要的说明:升级程序是一个独立的exe文件,与主程序打包安装在同一目录下。前三个程序相互补充,完成自动升级更新。看看细节。
接下来是细节,很平静的细节,你很幸运,我今天正好心情不好,我会告诉你细节的。(1, 2, 3....代表步骤)
第一步:上传文件到网站,接收文件时记得改后缀名(统一改为.rar或.txt),这样web服务器(IIS)就不会发送特殊文件(.dll、.exe) ) 由于安全因素。等)被拒之门外。同时在数据表中记录以下属性(文件实名【如:ABC.exe】、文件下载地址、相对根路径的路径、文件版本号【如果有版本号(如:dll,exe),取版本号,如果没有版本号(如:jpg)取MD5值])
特别说明:版本号,相关代码可以从百度“C#获取文件版本号”获取。
好尴尬==!这里有一个步骤说明:主程序启动时,启动升级程序有问题(可以做)百度“C#启动其他应用程序”
第二步:升级程序请求一个页面生成xml(其实是一个aspx,但是输出的内容是xml的形式,用.write输出),也可以直接返回第一步提到的数据表提供方法 ( )。
第三步:升级程序将xml内容翻译成,如果使用这一步,会被保存。
第四步:升级程序遍历第三步得到的信息,根据“相对于根路径的路径”获取本地旧文件的信息。如果本地有文件,获取版本号或MD5值。如果本地没有文件,或者版本号不同等等,或者MD5值不相等,则表示需要更新文件(把这个信息()存入队列(数组))。在这一步中,您知道需要下载哪些文件。
第五步:升级程序根据第四步得到的队列,将文件一个一个下载到(Temp目录)
第六步:升级程序关闭主程序进程(可以做),如果有问题可以百度“C#结束其他进程”,所以要杀掉还是剪掉旧文件,因为他们将不再被其他进程占用。
第七步:升级程序根据“相对于根路径的路径”字段将第五步下载的文件一一移动到相应目录,并替换旧文件。
第八步:工作完成,升级程序启动主程序(class可以做)如果有问题可以百度“C#打开其他exe”
第9步:不,没什么可说的。
下载可以用:,这两个类,详见msdn,用它们做断点续传,实时进度条,多线程下载。您也可以使用它不是很好。一次下一个文件无法断点续传,无法实时获取进度。最重要的一点是使用它是不专业的。
想法就在这里,绝对不会出错。
我叫绿豆蛙。别人喜欢叫我三爷。我已经很多年没有接触过C/S了。我想有一天我可以做一个 C/S 项目。哥,我今天心情不好,因为马上要结婚了,压力很大。
评论留言