先下载CAB包文件封装器,该软件仅仅针对编程序的人使用,做过ACTIVEX的朋友相比都知道随WEB自动加载的CAB文件,这个文件可以用WINRAR打开甚至释放文件,但是却不能用WINRAR来进行封装,因此这里我就给大家提供这个封装工具,软件非常小,需要在MSDOS模式下运行使用方法如下: 首先将此压缩包解压缩,然后放入需要封装的文件夹中,
运行命令如下: cabarc n Abcd.cab Abcd.inf Abcd.dll
ABCD.CAB:封装后的文件 ABCD.INF;ABCD.DLL需要封装的文件
INF文件是一个文本文件,指定运行控件所需要下载或者呈交的文件(比如DLL或者其它OCX)。一个INF文件就捆绑了CAB压缩文件所有的必须文件。 缺省情况下,与现有硬盘中文件版本号相同的文件不被下载。要了解有关INF文件及其选项(包括如何创建独立于平台的INF文件)的详细情况,请参考万维网站Packaging Component Code for Automatic Download,或者参考平台软件开发工具包(Platform SDK,包含在Visual C++ 5.0联机文档中)的设置和系统管理服务(Setup and System Management Services)部分的/Setup API/Overview/INF Files目录下的内容。
作为示例,下面的INF是用来为ATL多边形控件创建一个CAB文件的。 ATL POLYGON示例程序来创建POLYGON.DLL,并创建一个最小版本。创建该最小版本另外需要一个DLL即 ATL.DLL。ATL.DLL要先于POLYGON.DLL注册,因此首先把ATL.DLL 放置到INF当中。
; Sample INF file for POLYGON.DLL
[version]
; version signature (same for both NT and Win95) do not remove
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
polygon.dll=polygon.dll
atl.dll=atl.dll
; needed DLL
[atl.dll]
file-win32-x86=thiscab
FileVersion=2,00,0,7024
DestDir=11
RegisterServer=yes
[polygon.dll]
file-win32-x86=thiscab
clsid={4CBBC676-507F-11D0-B98B-000000000000}
FileVersion=1,0,0,1
RegisterServer=yes
; end of INF file
注: 1、CAB包的版本号必须与.INF文件中第一个组件的版本号一致。
例如脚本程序codeBase="http://update/MYCAB.CAB#version=1,0,0,4" ,先检测客户端当前使用的第一个组件版本,如果低于1.0.0.4,则从服务端http://update/MYCAB.CAB下载更新版本。
2、CAB包必须经过数字签名后,客户端才能正常下载安装。