可以做以下事情来自定义您的文件下载,其中包括:
以下章节将详细描述这些操作。
可以通过修改 .inf 文件自定义安装过程。修改后的文件可以包括在手工重新生成的.cab 文件中(使用 .ddf 工程文件),或直接由 OBJECT 标记的 CODEBASE 属性引用。
注意 可以在 CODEBASE 属性中使用.inf文件,但应尽量避免这样做。因为 .inf 文件不能有数字签名,如果在此使用,将会引起您对 .inf 引用的所有编译好的文件(例如 .ocx 文件)进行数字签名。这将会要求您对每一个可执行文件分别签名和部署,而不是只对将所有文件打包的.cab 文件进行签名。
对 .inf 文件的典型修改有:
注意 作为 ActiveX 控件的开发者,您可以修改 Internet 部件下载文件。但必须注意,如果这样做的话,进行修改的人员或公司要为此负责。有些更改表明您所做的更改是正确而可信的。另外,在许可证书协议中要避免使用“如同”或“可适用性”子句,可能有些法庭会认为这些句子是无效的。
以下是 .inf 文件的示例:
;
用于ControlDemo.ocx
的inf
文件;DestDir
对Windows
目录可以是10
,对Windows\System(32)
目录可以是11
,对Occache
或Downloaded Program Files
目录可以为空。[version]
signature=$CHICAGO$
[Add.Code]
CONTROLDEMO.OCX=CONTROLDEMO.OCX
MSVBVM60.DLL=MSVBVM60.DLL
[CONTROLDEMO.OCX]
file-win32-x86=thiscab
RegisterServer=yes
clsid={F651BF93-239B-11D0-8908-00A0C90395F4}
DestDir=
FileVersion=1,0,0,1
[MSVBVM60.DLL]
hook=MSVBVM60.cab_Installer
FileVersion=5,1,43,19
[MSVBVM60.cab_Installer]
file-win32-x86=http://activex.microsoft.com/controls/vb6/MSVBVM60.cab
InfFile=MSVBVM60.inf
重点 只有最初的控件开发者才有权标记控件的安全性。不能随便标记别人控件的安全性。更改控件的安全性将会引起侵权和法律诉讼。
可以使用 .inf 文件指定部件的版本。.inf 文件中应包括一部分指定文件的版本及与 <OBJECT> 标记中相同的类标识符。
如下列示例所示,该文件部分指定了要下载的 ActiveX 控件的版本:
[circ3.ocx] ;
下列行指出指定的Circ3.ocx (clsid,
; version)
需要安装在系统中。如果没有安装,;
则可以从给定的位置(a .cab)
下载。NOTE:
;
如果指定了"thiscab"
来代替文件位置,则;
假设所需的文件在同一个.cab
压缩文件中,.inf
文件正是由该.cab
文件得来的。
;
如果位置指向一个不同的; .cab
,则那个压缩文件也将被下载并打开;
以便展开希望的文件。file=
错误!未找到引用源。
clsid={9DBAFCCF-592F-101B-85CE-00608CEC297B}
;
注意,当在该.inf
文件中输入时,{}s
是必需的。;
这与HTML
语法在<OBJECT>
标记中插入
; CLSID
稍有不同。FileVersion=1,0,0,143
如果修改了 .inf 文件或在 Support 目录中将控件数字签名,则需要修改 .ddf 文件。同时需要验证添加到 .inf 文件中的任何文件也同时添加到了 .ddf 文件中,否则安装时将找不到这些文件。
以下是一个打包和展开向导生成的 .ddf 文件
.OPTION EXPLICIT
.Set Cabinet=on
.Set Compress=on
.Set MaxDiskSize=CDROM
.Set ReservePerCabinetSize=6144
.Set DiskDirectoryTemplate=
.Set CompressionType=MSZIP
.Set CompressionLevel=7
.Set CompressionMemory=21
.Set CabinetNameTemplate="ControlDemo.cab"
"C:\Website\Cabfiles\ControlDemo.inf"
"C:\ControlDemo\ControlDemo.ocx"
.ddf 文件中以下条目不能改动:
条目 | 描述 |
MaxDiskSize=CDROM | 允许 .cab 文件可以为所需要的任意大。 |
ReservePerCabinetSize=6144 | 为数字签名保留空间。 |
每次修改与 .cab 文件相关联的 .inf 或 .ddf 文件后都要重新生成 .cab 文件。要重新生成 .cab 文件,需要使用 Microsoft 的压缩文件生成器(Cabinet Builder),Makecab.exe。该文件通常放在 \VB\Setupkit\kitfil32 中。
重新生成 .cab 文件的最简便的方法是对工程中现有的 .ddf 文件使用以下命令:
makecab /f yourcontrolname.ddf
压缩文件生成器产生两个附加信息文件,setup.inf 和 setup.rpt。
详细信息 修改与 .cab 文件相关的文件的详细信息,请参阅 Microsoft Developer's Network。有关.inf 文件的详细信息,请参阅 Microsoft的 Visual C++ 和 MSDN Library CD-ROM 中包含的有关文档。