CAB打包的困惑

一、CAB打包过程:

下载CABSDK.EXE解压后在命令行下进入其bin目录,用CABARC.EXE打包。

(1)为了方便操作,可以将CABARC.EXE添加到环境变量中:桌面上右击“我的电脑”,“属性”,“高级”,“环境变量”,“系统变量”,找到“Path”,在后边把CABARC.EXE所在的路径添加上去,注意用分号隔开新添加的路径。

(2)准备好文件

install.inf :CAB安装配置文件

HelloBossmaSetup.msi:安装程序文件

install.inf文件的内容:

[version]

signature="$CHICAGO$"

AdvancedINF=2.0

 

[Setup Hooks]

hook1=hook1

 

[hook1]

run=msiexec.exe /i "%EXTRACT_DIR%\XXX.msi"/qn

run:一般只需要修改这个就行了

(3)执行cabarc命令

桌面左下角“开始”,“运行”,输入cmd,打开命令提示符工具,进入准备好的文件的目录,执行命令:

cabarc n HelloBossma.cab HelloBossmaSetup.msiinstall.inf 

显示“Completed successfully” ,打开所在目录,就可以看到生成的文件了。

 

二、部署测试

找个IIS,编个ASP网页之类的文件,加入下列代码:

<object classid="clsid:636B8CE1-7512-464C-B63C-FC75BDCA21DB" codebase="hellobossma/HelloBossma.CAB" width="442" height="87" id="HelloBossma" name="HelloBossma">

其中clsid为项目中申请的GUID,codebase非常重要,开始我测试的时候将CAB文件和这个网页放在同目录下,codebase写成:"XXX.CAB",结果打开这个网页,状态栏进度条很快就结束并且显示红叉,没有任何安装提示,而且电脑的C:\WINDOWS\Downloaded Program Files 目录下也没有下载下来的文件,这让我很困惑。搞了一晚上也没搞明白是哪里错了,不停地打包测试,始终不成功,除非自己手动在电脑上安装MSI文件,网页始终不能自动安装。当然是在那些IE安全级别,安全接口之类的我已经完成的前提下。

最后我偶然把codebase改成:"hello/XXX.CAB" 就是我把CAB文件放在和网页同级的一个新建的hello文件夹中,突然发现网页正常了,能够自动安装并显示了。让我吐血啊,希望给同样困惑的朋友一点启示。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值