我写的一个从网络自动升级程序的东东(源码) (0分)

  • 主题发起人 主题发起人 ufo!
  • 开始时间 开始时间
U

ufo!

Unregistered / Unconfirmed
GUEST, unregistred user!
这是一个通过web自动升级程序的小东东(源码)。
比较毛糙,基本功能有:
1.判断是否有新的文件需要更新。
2.需更新文件能列表显示。
3.可关键字指定类型如:(DV)直接覆盖,(DL)不覆盖,(DR)覆盖并运行,(TR)下载到临时文件夹运行。
4.下载进度显示。

其他功能请自行完善,如您做了更好的版本,请mail给我一份。

support@mei-lian.com
fuchengrong@hotmail.com

下载地址: http://www.mei-lian.com/data/update.rar
 
已知的一个问题,在98下不能kill掉已经在运行的程序,2000下可以。
 
我也做了一个,但是有个原则,看看我的思路如何!
1。使用INDY的FTP开发,例子就可以了。
2。在开发的软件的时候用INI记录要更新的文件名列表
3。把更新的数据写到上面就可以了,
如果要马上更新,就下载后立即更新内存中的库就OK了,
如果要自动生机的话,在程序运行的时候先获取网络的升级标志就可以了。。,如果现在的版本和网络的上版本区别,就开始升级就OK了。。
 
TMS 有通过web/ftp自动升级的控件(源码)。 5star
AutoUpgrade 也有web自动升级的功能

估计比自己写的要好
 
如果通过代理上的网,能不能下载升级?
 
for i := 1 to M_str1.Count - 1 do
begin
ss := copy(M_str1.Strings, 4, 32);
if copy(M_str1.Strings, 1, 2) = 'DL' then //下载,不覆盖
begin
if copyfile(pchar(M_finename + 'tmp/' + ss), pchar(M_finename + ss), true) then
begin
checklistbox1.Checked[i - 1] := false;
end;
ProgressBar2.Position := i + 1; //注意:要加上这条语句,否则进度条不完整。
continue;
end;


代理也可以实现,只要idHttp支持的都可以

是否可以增加从 ftp 上下载?
是否可以增加存放相对路径?
是否在各个系统都能杀死已运行进程? //不是自己杀自己应该容易一些。

期盼你的下一个版本。
 
谢谢tt8,更新了一下,加入了那句 ProgressBar2.Position := i + 1;
我在win2000下可以杀死已运行的进程。
但在98下不能杀死已运行的进程。有条件的帮着调试一下。我这没win98
现在临时加了个windows版本判断,不是win2000的操作系统则提示操作者自己关闭程序。
判断win版本的函数从大富翁上找的,呵呵。
 
收藏!!!!
 
收藏!!!!
 
其实这类东西用 TMS pack 的 webcopy,webupdate
是最简单好用了,而且满足我上面提的要求。
 
tms pack 有源码吗?
是否收费许可?
 
找到了tms,正在下载……
 
后退
顶部