从网页上下载控件时制作CAB包的方法

    Internet软件分发单位是“软件包”,它由包含.INF文件或软件分发.OSD文件(或两者都包括)的.CAB文件所组成。一个分发单位也可以包含软件组件,如 ActiveX 控件(.OCX)、.DLL文件、.EXE文件、Java类文件或小程序。当Web页上OBJECT元素的CODEBASE特性引用包含.INF文件的.CAB文件时,Internet Explorer 3.0或更新的版本将自动把.CAB文件作为软件分发单位下载并安装。
 
第一步:.INF文件的编写,以下是一个.INF的例子
 
    .INF文件是一个文本文件,指定运行控件所需要下载或者呈交的文件(比如.DLL或者其它.OCX)。一个.INF文件就捆绑了.CAB压缩文件所有的必须文件。 缺省情况下,与现有硬盘中文件版本号相同的文件不被下载。下面就以一个webTest.dll为例子。在webTest.dll中使用到:web1.dll,web2.dll,web3.ocx
 
webTest.inf文件:
[ Add.Code ]
webTest.dll
= webTest.dll
web1.dll
= web1.dll
web2.dll
= web2.dll
web3.ocx
= web3.ocx
 
[ webTest.dll ]
file-win32-x86
= thiscab
clsid
= {3848B779-EE83-4B97-94CF-FCA9AD927904}
FileVersion
= 1 , 0 , 0 , 1
RegisterServer
= yes
DestDir
= 11
 
[ web1.dll ]
file-win32-x86
= thiscab
FileVersion
= 1 , 0 , 0 , 1
RegisterServer
= yes
DestDir
= 11
 
[ web2.dll ]
file-win32-x86
= thiscab
FileVersion
= 1 , 0 , 0 , 1
RegisterServer
= yes
DestDir
= 11
 
[ web3.ocx ]
file-win32-x86
= thiscab
FileVersion
= 1 , 0 , 0 , 0
RegisterServer
= yes
DestDir
= 11
注意:FileVersion必须写成逗号分隔的形式。
        DestDir=11代表是System或System32目录,下载的时候会自动判断使用哪个目录。
 
第二步:开始制作.CAB文件,我是用IExpress工具制作的(该工具在winnt/system32目录下面)。
 
IExpress汉化补丁下载
 
1:选择“创建新的自解压指导文件。”,点击下一步。
2:选择“仅创建压缩文件(ActiveX安装)”,点击下一步。
3:点击添加,把你要供别人下载的文件添加(webTest.inf,webTest.dll,web1.dll,web2.dll,web3.ocx),点击下一步。
4:点击浏览,输入.CAB文件的存放地址(包含文件名,文件名可以随便起,这里我用的是WebTest.CAB),并且要选中下面的“在软件包中使用长文件名保存文件”。点击下一步。
5:选择“不保存”,一直点击下一步,直到完成。
 
    现在在你的网页中使用该控件,当别人访问你的网页时,如果他的机子上没有你的控件,浏览器就会自动下载安装。因为你的控件可能没有获得签名,因此得将浏览器的安全级别降低。在internet工具中选择安全,选择自定义。找到下载未签名的ActiveX控件,选择其下面的提示或者启用。
 
第三步:在网页中插入控件代码
< OBJECT  id =WebTest  style ="width:0px;height:0px"  
classid
="clsid:348CAD17-BAB5-49F5-B154-D6B8686F063B"  
codebase
="WebTest.CAB#version=1,0,0,1" >
</ OBJECT >
    如果控件已经在客户机注册,并且不是通过.CAB的方式注册,那么通过.CAB自动注册的时候,该控件将无法被更新。必须先手动删除该文件。
 
注意:得把.CAB文件你和的网页放在同一目录下。或者在codebase中指定.CAB的路径。
        其中的version必须也是逗号分隔的形式,否则无法自动升级更新。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值