2023年11月26日发(作者:)

¨¨。“

维普资讯

魏黔i _。i ¨

麓≥

PROGRAM LANGUAGE

使用Delphi编写DLL实现软件自动更新

云凤生

本文阐述了使用Delphi编写动态链接库(DLL)实现软件自动更新的设计思路和

实现方法。首先提出问题,然后根据需求设计出一个通过DLL实现软件自动更

新的解决方案。

关键词Delphi,动态链接库(DLL),软件自动更新

问题提出

大家经常看到很多软件都实现了自动更新功能,特别是一

些需要频繁升级的软件,比如杀毒软件等自动更新功能更是非

常重要。我参加的这个项目中,由于所有客户端的安装均需要

下载客户端程序,而且系统会定期升级,所以必须能够实现客

户端程序的自动更新,否则手工更新数百个客户端程序的过程

将是一场噩梦。

二、设计思想

为了实现客户端程序的自动更新,需要记录客户端和服务

器端的程序版本,然后手工或定时触发两端程序版本的比较,

如果版本不一致,则自动从服务器端下载最新的程序。 在我们

开发的系统中,通过程序版本比较和文件下载等DLL来实

现,方案设计图如图1所示。

从图1可以看出,在客户端有一个配置文件,保存了各个

图1

三、实现方法

根据以上设计思路,我使用Delphi来编写DLL,实现了 程序的版本,在服务器前置机的数据库中,也保存了各个程序

软件的自动更新功能。为了简化程序的描述,我对程序进行了

删减,以下程序实现了对文件main.exe的自动更新,如果有 户端的配置文件和服务器前置机的数据库进行比较,如果有文

多个文件需要自动更新,其实现方法基本相同。 件的版本不一致,则通过文件下载DLL进行所有文件的更

1.DLL简介

的最新版本。当用户签到成功后,调用版本比较DLL,通过客

新。更新成功后用户所调用的程序均为最新版本。

三、结束语 参考文献

编辑框的外观和功能扩展具有多种不同的实现形式,本文

结合工程实践,对VC++中编辑框控件的外观和功能扩展进

行了总结和说明,为了说明清晰,对不同的扩展功能,本文采 2.李博轩等著.Viual C++.NET用户界面开发技术

用了不同的类实现,读者也可以将其合并为一个功能丰富的编

辑框控件类。

1.David J.Kruglnski著,王国印译、ViuaC++技术

内幕(第二版).清华大学出版社,1996

国防工业出版社。2002

(收稿日期:2006年2月16日)