CAB是一种文件压缩格式,把OCX文件(ActiveX插件)压缩成CAB文件是为了发布它,
这种发布方式给人感觉“浏览器会自动安装该插件”,很多朋友钟情于此。
目前流行很多压缩工具,但WINRAR这类工具生成的CAB文件浏览器无法识别。
经过试用,发现用Windows系统文件CABARC来制作CAB是最简单有效的办法,
下面以打印控件Lodop为例,一步步了解制作CAB文件和部署发布的过程:
第一步、判断操作系统是否有CABARC文件
操作系统 开始->运行...->键入命令cmd->键入命令CABARC
若显示一大段版本声明和命令选项的英文说明,表示系统存在CABARC,如果不存在可以从网上搜一个
或者从这里下载,下载解压后放到操作系统目录下。
第二步、准备ocx文件
注:安装过Lodop的机器中,ocx文件存放在C:\WINDOWS\system32\CAOSOFT_WEB_PRINT_lodop.ocx
或Program Files\MountTaiSoftware\Lodop下。
第三步、制作CAB文件
CABARC -s 6144 N c:\test\lodop.cab c:\test\lodop.ocx
该命令执行完毕后,在C:\test目录下会看到新生成的Lodop.cab文件。
在这行命令中,CABARC之后有五个参数值,参数之间用空格分隔,
其中 -s 6144 俩参数表示生成的CAB文件以后可以进行代码签名,
如果以后不想签名,该参数可以不加,代码签名是个很纠结的问题,以后细说。
以上这步还有个简单办法,就是把该命令行字串用记事本复制到一个bat文件中,
譬如起名CreateLodopCAB.bat,需要生成CAB文件时双击该bat文件就可。
该办法适合经常发布同一产品的不同版本。
第四步、CAB文件的使用方式一
把下面这段完整的超文本复制到一个html文件中,起名为demo.html:
<html>
<H1> Lodop CAB File Test Page </H1><p>
<object
>
</object>
</html>
把文件demo.html和第三步生成的lodop.cab放到同一个web目录下就ok了。
以上这段代码应该很好理解,其中lodop.cab之前还可以包含web路径,
也就是说插件可以单独部署,通过路径指向具体的部署位置。
现在你把浏览器的URL通过web打开demo.html文件,测试看看是否“自动安装”。
第五步、CAB文件的使用方式二
<html>
<H1> Lodop Test Page </H1><p>
<object
>
</object>
</html>
其中lodop.inf是txt格式,内容如下:
[Add.Code]
lodop.ocx=lodop.ocx
[lodop.ocx]
file=lodop.cab
clsid={2105C259-1E0C-4534-8141-A753534CB4CA}
RegisterServer=yes
FileVersion=5,0,5,7
这些代码还算好理解,不用累述。
在实践中这种安装非常“不自动”,因浏览器阻断而安装失败的几率很大。
针对这种情况,无论是著名的Flash还是Lodop,都提供了exe格式的安装程序,
让用户下载后执行安装。当然二者结合起来部署,则是不错的选择!
查看文章
|
一、程序描述: 程序过程:控件做成ocx文件,用于客户端调用本地硬件,其中有用到第三方几个.dll文件。采用windows自带iexpress.exe 打包成cab文件,在服务器端jsp页面进行控件调用,下载cab文件并自动注册。 二、程序问题: 问题测试: 问题解决: 三、总结: [DefaultInstall] [Add.Code] [install.files] [SourceDisksFiles] [pcpos.ocx] [Comm.dll] [pcpos.dll] [TCPCLNT.dll] [RegisterFiles] 注释: 制作cab: 注意: 2. 对CAB文件进行数字签名 步骤: 这样就对CAB文件进行了签名,但是这个时候点击这个文件会发现证书不可用,原因是证书没有安转。文件属性->数字证书->详细信息-〉查看证书-〉安装证书,进入安装证书向导,存放区域选择“受信任的根证书颁发机构”,点击完成即可。 在客户端测试: 四、问题: |