在公司做ERP系统开发时,由于客户端数量大多,软件经常需要修改,每次都去手动更新客户端太麻烦,为了不再去手工做这么烦锁的事情,客户端就可以自动更新程序为最新版本,同时还要通过系统防毒软件和防火墙。。。
需求分析:
1.客户端每次运行系统时有新版本需要更新,要提示更新
2.有多个DLL,OCX,EXE文件需要更新,需要打包
3.要跟据要求安装到指定目录并注册
程序设计方法:
1. 首先,需要安排一台FTP服务器用于提供更新包下载服务
2. 打包需要安装的程序,采用VB6.0自带的CAB打包工具 MAKECAB.EXE ,把需要安装的程序文件名字写入一个 *.DDF 里,例如我做的这个文件 cesupdate.DDF 内容如下:
.OPTION EXPLICIT
.Set Cabinet=off
.Set Compress=off
.Set MaxDiskSize=CDROM
.Set ReservePerCabinetSize=6144
.Set DiskDirectoryTemplate=".."
.Set CompressionType=MSZIP
.Set CompressionLevel=7
.Set CompressionMemory=21
.Set CabinetNameTemplate="update_CN.cab"
.Set Cabinet=on
.Set Compress=on
"prjTest.exe"
"CESUpgrade.exe"
"CESCommon.dll"
"CESToolLib.dll"
"CESTOOL.dll"
"CESQMLib.dll"
"CESQM.dll"
"CESPMLib.dll"
"CESPM.dll"
"CESPLANLib.dll"
"CESPLAN.dll"
"CESBMLib.dll"
"CESBM.dll"
"cesupdate.txt"
3. 运行一个这个命令 MAKECAB.EXE /f "cesupdate.DDF" 就可以打包成 update_CN.cab
4. 打包程序里面包含一个安装配置文件 cesupdate.txt 用于指定程序安装到什么位置,可以参考VB6.0的SETUP程序源码,此文件内容如下:
prjTest.exe,$(APPPATH)
CESUpgrade.exe,$(APPPATH)/Dlls/
CESCommon.dll,$(APPPATH)/Dlls/
CESPLAN.dll,$(APPPATH)/Dlls/
CESPLANLib.dll,$(APPPATH)/Dlls/