描述:
我用VC6.0做了一个activex控件,这个控件使用到了一些别的文件(DLL,LIB,IMG等)
我在VC提供的测试环境ActiveX Control Test Container来测试,发现可以正常运行
可是我一放到网页上测试,老是出现“不能加载.img”的错误
错误很可能是由于一个dll没被加载进行使用的问题,这个DLL用来加载那个IMG文件。
我从网上找了很久,别人的意思好象要作成.cab文件。
我是用VC6.0开发的,打包工具他们说用VB6.0,我试验了一下,VB6.0好象只能打VB的工程,可是我的程序又不是VB的
现在该怎么打包,怎么做成.cab文件, 怎么才能解决这个问题,希望大家帮忙,先谢谢了。
希望回答的稍微详细一些,我对打包不太懂,谢谢。
解决方案1:
基本如上面弟兄所述:
1。从微软下载一个:打包程序:Cabsdk.exe
2。写一个inf文件:
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
ABrowser.ocx=ABrowser.ocx
gdiplus.dll=gdiplus.dll
AParamHelper.dll=AParamHelper.dll
ACore.dll=TIFFCore.dll
[ABrowser.ocx]
file-win32-x86=thiscab
clsid={C0F1EDF0-34C3-4300-A322-4B94CCE40B85}
FileVersion=1,0,0,1
RegisterServer=yes
[gdiplus.dll]
file-win32-x86=thiscab
FileVersion=5,1,3097,0
RegisterServer=no
DestDir=11
[AParamHelper.dll]
file-win32-x86=thiscab
FileVersion=1,0,0,1
RegisterServer=no
DestDir=11
[ACore.dll]
file-win32-x86=thiscab
FileVersion=1,0,0,1
RegisterServer=no
DestDir=11
3。将各个文件和inf打进一个cab包。
cabarc -s 6144 n Browser.cab gdiplus.dll ABrowser.ocx AParamHelper.dll ACore.dll ABrowser.inf
一个的典型的inf
[version]
signature="$CHICAGO$
AdvancedINF=2.0
[Add.Code]
BugsInstall.ocx=BugsInstall.ocx
mfc42.dll=mfc42.dll
msvcrt.dll=msvcrt.dll
olepro32.dll=olepro32.dll
[BugsInstall.ocx]
file-win32-x86=thiscab
clsid={340CCF52-D65F-4A11-80B3-13DC23697B59}
RegisterServer=yes
FileVersion=1,0,0,13
[msvcrt.dll]
FileVersion=6,00,8267,0
hook=mfc42installer
[mfc42.dll]
FileVersion=6,00,8267,0
hook=mfc42installer
[olepro32.dll]
FileVersion=5,0,4265
hook=mfc42installer
[mfc42installer]
file-win32-x86=http://activex.microsoft.com/controls/vc/mfc42.cab
run=%EXTRACT_DIR%\mfc42.exe