首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

小弟我设想的程序自升级方法,有没有更好的办法?参与探讨有分

2012-02-23 
我设想的程序自升级方法,有没有更好的办法?参与探讨有分!用BCB C/S 方式的系统,有几个客户,程序升级太烦,

我设想的程序自升级方法,有没有更好的办法?参与探讨有分!
用BCB C/S 方式的系统,有几个客户,程序升级太烦,如果能自行升级,再好不过,我设想的办法:

我的客户程序都是绿色.exe,远程数据库的表中有一BLOB字段,用来存放升级程序exe,有一字段放版本号;

1>自动上传: 当前.exe程序版本号<一全局整数变量>高于库中的程序版本字段时,可以自动上传自已到BLOB字段中;
2>客户升级: 1>运行时,若当前exe版本低于库字段中的版本号时,准备升级;
  2》将BLOB字段的程序下载到 当前目录中,新文件名: ~原名.exe
  3> 运行 ~原名.exe, 自已退出;
  4> ~原名运行后 时,发现自已是升级程序(名前有~)时,
  将自已复制到 原名.exe,直到成功为至(.exe退出会占时间);
  执行 原名.exe,退出 ~原名.exe
  升级结束
   
 
   


[解决办法]
可以这样做。
[解决办法]
其实这个可以用ini文件控制就可以了
ini文件里写当前的版本好和当前版本与前一个版本比较更新了那些文件,形式大致如下

[Version]
version=1.0
[Files]
0=XXX.dll
1=XXX.txt

客户端在运行的先从服务器下载ini文件并取得里面的版本号,再从本地获得本地的版本号,如果服务器上的版本号是本地版本号的升级,则将File中的文件下载到本地



[解决办法]
判断是否有新版本文件--》下载新版本文件另存为临时文件--》启动另一个进程进行更新(替换主执行文件)

可以是写一个临时bat文件来进行文件的替换。
[解决办法]
我写了一个,现在在部门内部的应用使用,感觉还可以,不妨去我的资源看看
[解决办法]
http://topic.csdn.net/t/20031208/15/2540426.html //cbuilder

http://topic.csdn.net/t/20051103/20/4370176.html //delphi

http://topic.csdn.net/t/20040405/18/2928482.html //cbuilder

TMSpack好像里面包含升级组件

http://www.tmssoftware.com/site/products.asp 下载组件

http://d.download.csdn.net/down/917120/harkmonkey 本站有help下载

[解决办法]
你可以建立一个SQL Server,制成一个软件版本表,让你用户的软件登录此Server查询最新软件版本,若未更新,就提醒用户进行更新。
  
此表可以是以下列:

公司,软件名,版本号,发行日期,URL链接

[解决办法]

探讨
其实这个可以用ini文件控制就可以了
ini文件里写当前的版本好和当前版本与前一个版本比较更新了那些文件,形式大致如下

[Version]
version=1.0
[Files]
0=XXX.dll
1=XXX.txt

客户端在运行的先从服务器下载ini文件并取得里面的版本号,再从本地获得本地的版本号,如果服务器上的版本号是本地版本号的升级,则将File中的文件下载到本地




[解决办法]

[解决办法]
我也是用ini 文件设置版本,放在网络的共享文件夹,里面放存放升级的文件所在的共享目录,比较版本只需要比较本地的ini和服务器共享文件夹的ini中的版本项,如果小,就直接从共享文件夹下Copy覆盖到本地目录就行了

热点排行