自动更新程序设计实现思路
来源:互联网 发布:mac没有新建文件夹 编辑:程序博客网 时间:2024/04/30 02:52
自动更新程序设计实现思路
由于业务需要,以前的单个文件自动升级无法满足当前的普遍需要,必须想做一种懒人的自动升级办法,也就是每次程序启动前必须进行实时更新后才可以运行程序。
若准备让客户端程序实施自动更新,必须的前提条件是:
1. 专用更新服务器支持。
2. 客户端每次启动的时候都检查更新。
详细的分,应该如下:
服务器端:
1自动更新服务器可单独架设,也可和其他服务器一起使用。
2 自动更新服务器必须维护一个更新列表。比如说是Update.XML。列表内维护需要监视更新的文件名称,版本号。
3 服务器端必须可以根据目录内文件内,自动生成Update,XML文件。
客户端:
1. 客户端每次启动前都必须检测服务器当前版本号,务必使每次更新后及时的进行更新至最新版本。
2. 客户端自动更新在主程序之前运行,自动连接到服务器,并下载服务器的文件列表。
3. 将下载的文件列表与本地列表相比较,若有不同,则自动更新不同的内容。下载至临时目录。下载完毕后复制到程序目录。
为了证明以上思路是否可行,必须拿一个现成的自动升级来分析分析.正好今日在玩一款游戏,暂就拿他分析分析看看这款游戏是如何做的自动升级.
自动升级—— 服务端维护一个程序全部的列表,程序自动将服务端的列表下载到本地,并且读取文件名和mod5 例如:http://update3.gc73.com/update/gamecity/lobby/files.dat 在服务器维护了一个完整的安装包,安装包内涵盖了全部升级所需要的文件。。。。 基本上升级的事情已经分析的差不多了。。。。 1. 客户端启动游戏的时候,首先启动的是自动升级的程序,自动升级的程序自动到网站上下载一个全部文件的列表表单和MD5码。。。 2. 通过分析和比较以上MD5是否相同,如果不相同就调用自动升级。。。。 3. 自动下载到指定的目录下,然后关闭自动升级,并且同时启动主程序。。。。。 网站更新目录: http://update1.gc73.com/update/ 列表表单 http://update3.gc73.com/update/gamecity/lobby/files.dat 文件及说明 文件名称 文件说明 CompeteResult.run CompeteResult.exe 必须传递参数才可以运行。Windows对话框程序,程序带资源。 Game.conf 可用记事本打开 游戏记录信息 [游戏ID] 游戏路径 执行程序名称 游戏URL地址 游戏URL地址_WT问题? 检查更新次数 强制更新次数 玩家满人人数 Ins_ver.dat 可用记事本打开 记录更新文件名称??? lineselect.dat 可用记事本打开 行选择??? Lobby.exe 自动更新程序 自动更新程序 Lobby.run Lobby.exe 客户端主程序 Login2.dat 可用记事本打开 Login.dat 可用记事本打开 记录登陆用户名 Server2.dat 可用记事本打开 服务地址和端口 Server.dat 可用记事本打开 服务地址和端口 Serverrpp.xyz 记事本 记录类似MD5数据集 Setkey.dat 可用记事本打开 未知 Unin.exe 应用程序 未知 Uninst.exe 反安装程序 卸载程序 Update.dat 可用记事本打开 自动升级网络地址 UpDate.p 未知 更新辅助程序 Updatetime.dat 记事本 更新程序时间 url.conf 记事本 网址记录集 url.dat 记事本 网址
咱已经把本地文件和网络文件统统都分析了一个遍,现在要做的就是动手去写,去实现。当然,如果能少写个工具最好了。我记得安装同花顺软件的时候下载过一个MD5码生成器的小东西。暂且先凑合用着,呵呵。
- 自动更新程序设计实现思路
- 自动更新程序设计实现思路
- C#实现软件自动更新思路
- C#实现软件自动更新思路
- 自动更新程序的实现思路
- H5app自动更新思路与实现
- 用C#实现软件自动更新思路
- 用C#实现软件自动更新思路
- 用C#实现软件自动更新思路
- 转别人的用C#实现软件自动更新思路
- 软件自动更新思路
- 程序设计思路
- 软件自动更新功能思路与开发要点
- ATS插件中配置文件自动更新思路
- 自动更新ssi页面的思路汇总
- 程序设计思路的转变
- 程序设计初级思路
- Cardboard 程序设计思路
- uclinux内核中的I2C驱动
- 看看都有什么好东东?
- sql ... Caused exception message is: index: 1, size: 0
- 如何将传递节点设置为通过使用 Visual C#.NET 内联 XSLT 脚本函数
- 一个js在火狐下为啥不好使 请高手指教
- 自动更新程序设计实现思路
- 关机之前,系统发出的消息
- __cdecl相比__stdcall的优势
- urlrewrite 的使用方法
- WinCE EBOOT的入口Startup.s
- 哲理故事.哲理小短文
- 软件测试过程的度量
- 哲理小短文
- 北上列车