我的OCX控件包含.inf ,AAA.ocx ,BBB.dll,打包好成.cab了  BBB.DLL是我自己写的DLL,AAA.ocx要调用它。
  但是,网页浏览时,下载了aaAAA.ocx到系统目录,却没有下载BBB.dll,为什么?怎么办?[version]
    signature="$CHICAGO$"
    AdvancedINF=2.0
 [Add.Code]
   AAA.ocx=AAA.ocx
   BBB.dll=BBB.dll
 [AAA.ocx]
    file-win32-x86=thiscab
    clsid={686AC84F-27DE-49F9-92AD-2CDA68C419F2}
    FileVersion=1,0,0,0
    RegisterServer=yes
    DestDir=11
 [BBB.dll]
     file-win32-x86=thiscab 
      FileVersion=1,0,0,2  
     DestDir=11
  

解决方案 »

  1.   

    光inf文件加上BBB.dll不行,你确认打包时加上BBB.dll了?CABARC n X:\your.cab X:\AAA.ocx X:\BBB.dll X:\your.inf
      

  2.   

    我的.cab 包里有 AAA.OCX ,BBB.DLL,以及.inf文件啊
      我在自己的及其上测试,IE下载了AAA.OCX到我的系统目录,
      我查找整个C盘,都没发现IE下载了BBB.DLL  怎么回事啊?? 
       我在网页中调用:
       .....
       CODEBASE="http://localhost/myweb/filename.CAB"
      也没有错啊
      

  3.   

    DestDir=11 把这两个去掉,直接让他下载到download file目录得了
      

  4.   

    是你的版本号不对吧。如果此电脑上曾经下载过一次的话,那么第二次会比较版本号。如果版本有更新,才会下载。不然不会下载。还有inf文件中的文件信息的书写要注意次序性,由于依赖的问题,需要讲究次序性
      

  5.   

    [code=INIFile]
    [version] 
    signature="$CHICAGO$" 
    AdvancedINF=2.0 //这段添加需要从根部要枝叶
    [Add.Code] 
    AAA.ocx=AAA.ocx 
    BBB.dll=BBB.dll Ocx.inf=Ocx.inf//这句要添加上,需要INF
    //后面的顺序是从依赖性的枝叶到根部
    [BBB.dll] 
    file-win32-x86=thiscab 
    FileVersion=1,0,0,2  
    DestDir=11 

    [AAA.ocx] 
    file-win32-x86=thiscab 
    clsid={686AC84F-27DE-49F9-92AD-2CDA68C419F2} 
    FileVersion=1,0,0,0 
    RegisterServer=yes 
    DestDir=11 //最后添加不涉及依赖性的
    [Ocx.inf]
    file-win32-x86=thiscab
    DestDir=11
    [/code]我这也有控件,是可以顺序下载的。这东西很玄,有一点搞不对,就不能完成自动下载。每个具有依赖性的文件,尤其是需要不断更新的文件,都标识好版本号。
      

  6.   

    打包的时候INF文件也要打包上的
      

  7.   

    wu兄的几个注意事项也值得考虑,不过我的inf里面没有添加Ocx.inf=Ocx.inf//这句要添加上,需要INF而且也没有按顺序,就可以下载成功使用。不过有的机器就不行,按wu兄的试试再说。