描述:
问题:发布ActiveX的ocx时,如果这个ocx调用了Dll文件,怎么把它嵌入网页呢?
http://community.csdn.net/Expert/topic/3422/3422185.xml?temp=.8496363
这个问题还是没有解决。
我按照上面的方法做了,但问题一样,cab下载了,但没有注册。如果手动注册则可以使用。我的那个dll文件是用来解压Gzip的zlib1.dll,不需要注册。
cab中只打入了3个文件MyAcx.ocx zlib1.dll acx.inf
其中acx.inf如下
[Version]
signature="$CHINA$"
AdvancedINF=2.0
[Add.Code]
zlib1.dll=zlib1.dll
MyAcx.ocx = MyAcx.ocx
[zlib1.dll]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11
FileVersion=1,2,1,0
[MyAcx.ocx]
file-win32-x86=thiscab
clsid={3F43237F-DD5A-4378-855F-BB73564C6A6}
FileVersion=1,0,0,12
RegisterServer=yes
DestDir=11
实在不知道还有什么不对的地方。帮帮忙,再给看看。或者给个例子研究研究。
解决方案1:
我顶,楼上的很厉害!!!真的。。。
解决方案2: 应该把OCX写在前面,dll写在后面,我前几天刚做了一个可以用。其中打包了4个文件,你看看就知道了,你把你的inf文件照着改就行了。
我的inf文件如下:
;INF file for ZNShow.OCX
;DestDir can be 10 for Windows directory, 11 for Windows\System(32) directory, or left blank for the Occache directory.
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[DefaultInstall]
CopyFiles=install.files
RegisterOCXs=RegisterFiles
[RInstallApplicationFiles]
CopyFiles=install.files
RegisterOCXs=RegisterFiles
[DestinationDirs]
install.files=11
[SourceDisksNames]
1=%DiskName%,ZNShow.CAB,1
[Add.Code]
ZNShow.ocx=ZNShow.ocx
MediaPlayer.exe=MediaPlayer.exe
TKL_Player.dll=TKL_Player.dll
ClientTrans.dll=ClientTrans.dll
[install.files]
ZNShow.ocx=ZNShow.ocx
MediaPlayer.exe=MediaPlayer.exe
TKL_Player.dll=TKL_Player.dll
ClientTrans.dll=ClientTrans.dll
[SourceDisksFiles]
ZNShow.ocx=1
MediaPlayer.exe=1
TKL_Player.dll=1
ClientTrans.dll=1
[ZNShow.ocx]
file-win32-x86=thiscab
RegisterServer=yes
clsid={DEEA8FB3-9BDF-47CA-AB3D-80D04CF67F4A}
DestDir=
FileVersion=1,0,1,5
[MediaPlayer.exe]
file-win32-x86=thiscab
RegisterServer=no
DestDir=
FileVersion=1,0,0,1
[TKL_Player.dll]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11
FileVersion=1,1,8,1
[ClientTrans.dll]
file-win32-x86=thiscab
RegisterServer=no
DestDir=11
FileVersion=1,1,1,2
[RegisterFiles]
%11%\ZNShow.ocx
http://www.yesky.com/20011220/210737.shtml
看看这个 或许对你有帮助
.inf文件中打包文件的顺序要和打包时文件的顺序一样。
.dll和.ocx一起打包是没问题的。
没做过, 帮顶