我已经实现了在一个cab文件里打包一个ocx文件形式的自动下载功能,但现在我的ActiveX控件需要一个dll文件才能执行,而我将这个dll文件和ocx文件打包到cab文件中后控件就无法显示在网页上了,请高手们执教!
解决方案 »
- [求助]对list进行push_back()时发生未知异常
- 动态显示数据
- 请教创建一个文本文件的函数方法
- 关于多重继承的this指针的问题。(急呀!)
- 将WM_DEVICECHANGE传给windows 强制使其刷新,这种方法行得通吗?
- ADO在访问数据库中为NULL的字段时出错,判赐教
- 如何对字符进行横向缩放,如同word里的那样
- 刚学VC,请教高手!!!
- 在VC中,如何用ODBC API SQLConnect()连接SQL Server数据库
- 线程无法执行,是XP、08R2的问题还是MSVC的BUG?
- 关于用InstallShield 6.2打包gif89.dll的问题
- 为什么在VB、IE里正常的ActiveX控件在VC里就不正常?
1。你的那个DLL文件还需要依赖别的DLL吗?(如果有,就要一起打包)
2。严格检查你打包成的CAB文件中的INI文件,看其内容是否正确!(把你的INI文件内容贴出来)
这里有inf文件格式的说明,然后你要下载cabarc对inf以及ocx打包,还要用signcode对打包后的文件进行签名。
例子:w3socket.inf
======================
[Version]
Signature="$Chicago$"
AdvancedINF=2.5[DefaultInstall]
CopyFiles=DLLFiles
RegisterOCXs=RegisterOCXSection
AddReg=AddToRegistry[DefaultUninstall]
cleanup=1
Delfiles=DLLFiles
UnRegisterOCXs=UnRegisterOCXSection
DelReg=DeleteRegistry[RegisterOCXSection]
%11%\socket.dll[UnRegisterOCXSection]
%11%\socket.dll[SourceDisksNames]
1="W3Socket",W3Socket.cab,1[SourceDisksFiles]
socket.dll=1[DLLFiles]
socket.dll[inffile]
w3socket.inf[DestinationDirs]
DLLFiles=11
======================
然后用命令cabarc n W3Socket.cab W3Socket.inf Socket.dll,将Socket.dll和W3Socket.inf打包到W3Socket.cab
最后用命令signcode -spc ..\jinhu.spc -k jinhu -n "W3Socket Component" -i http://www.google.com -t http://timestamp.verisign.com/scripts/timstamp.dll W3Socket.cab
对W3Socket签名。
谢谢!