问题:发布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.   

    .inf文件中打包文件的顺序要和打包时文件的顺序一样。
    .dll和.ocx一起打包是没问题的。
      

  2.   

    http://www.yesky.com/20011220/210737.shtml
    看看这个 或许对你有帮助
      

  3.   

    我真的不知道该怎么办了。我几乎翻遍了所有的论坛和技术网站,看到的都是相同的东西。我把自己的东西改了又改,可总是不行。顺序没问题。不同的好像只有dll本身。我这个dll是不用注册的。有没有人做一个完整的例子,只要可以下载注册就可以。
      

  4.   

    应该把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