昨天开始再次需要打一个64位IE可以使用的cab包,
其中包含的文件有:一个dll 两个exe,还有一个需要自动注册的 ocx文件。
由于之前打过,这次结合新文件,重新打包,结果是一下子懵掉了。看似一样的inf,但在IE64位上自动下载时候,点击安装便无解了,来到system32下看,根本什么都没有。
在网上查找相关inf写法 什么的,然后修改调试耗费了好久,终于今天下午解决了。
首先要注意的是:
64位IE使用的cab包里,所有文件都必须是64位的,包括dll exe ocx.
其次,
inf写法我也有问题,
[Version]
; This section is required for compatibility on both Windows 95 and Windows NT.
Signature="$CHICAGO$"
AdvancedInf=2.0
[Add.Code]
ns******ent.ocx=ns******ent.ocx
wget.exe=wget.exe
nslogger.dll=nslogger.dll
上面inf里面的[Add.Code]顺序是有讲究的。cab被IE处理是从下往上处理的,如果文件列表中文件间有依赖关系,被依赖的文件需要放在下面,否则会导致上述的问题。