codebase 应该对应的是一个cab或者ocx包,而不光光是一个DLL文件。

解决方案 »

  1.   

    用visual studio 查看dll的依赖关系表
      

  2.   

    1、如楼上所说fm20.dll 这个可能需要其他DLL支持
    2、IE的安全是否设置到最低?
    3、重点检查 允许下载未签名控件/允许运行未申明为安全的控件
      

  3.   

    既然是office的控件,那么你可以试着在office里发布一个页面,看看office里是如何调用的
      

  4.   

    meizz(梅花雪)所说的,codebase 应该对应的是一个cab或者ocx包。
    参考http://wiseman.cnblogs.com/archive/2006/03/25/291901.html
      

  5.   

    我也想过可能是有多个DLL文件,但是不知道有没有其他的方法可以查看DLL的依赖关系,我这边没装VS。我也写了一个INF文件试了试,不过在写到指定FM20.DLL的CLSID时不知道怎么写了。
      

  6.   

    我用depends21_x86这个看了,它需要的DLL都是通用的
    并没有其他的依赖
      

  7.   

    你用SignCode给它加上数字签名试试?
      

  8.   

    GUID可以用exeScope这个工具看到
    用exeScope打开FM20.DLL,在资源->TYPELIB->1/2里面有MSForms; // Microsoft Forms 2.0 Object LibraryAlias OLE_COLOR;
    GUID={66504301-BE0F-101A-8BBB-00AA00300CAB};
      I4Alias OLE_HANDLE;
    GUID={66504313-BE0F-101A-8BBB-00AA00300CAB};
      I4Alias OLE_OPTEXCLUSIVE;
    GUID={6650430B-BE0F-101A-8BBB-00AA00300CAB};
      boolInterface IFont;
    GUID={BEF6E002-A874-101A-8BBA-00AA00300CAB};
      property-get Name(out pname:^BSTR): HResult;
      property-put Name(pname:BSTR): HResult;
      property-get Size(out psize:^CY): HResult;
      property-put Size(psize:CY): HResult;
      property-get Bold(out pbold:^bool): HResult;
      property-put Bold(pbold:bool): HResult;
      

  9.   

    我看到客户端是下载注册到了
    C:\系统文件夹\Downloaded Program Files\目录下
    用VB或WORD等可以插入控件的软件里测试该控件都无法正常使用;
    而通过regsvr32方式在客户端注册后才可以正常使用;郁闷啊。
      

  10.   

    有突破:
    写了个inf文件,和fm20.dll一起用IExpress生成CAB,可以下载注册,正常使用。
    inf文件:
    [version]
    signature="$CHICAGO$"
    AdvancedINF=2.0[Add.Code]
    FM20.dll=FM20.DLL
    ASYCFILT.DLL=ASYCFILT.DLL
    MSVBVM50.DLL=MSVBVM50.DLL[FM20.DLL]
    file-win32-x86=thiscab
    clsid={46E31370-3F7A-11CE-BED6-00AA00611080}
    FileVersion=2,1,6112,1
    DestDir=11
    RegisterServer=yes[ASYCFILT.DLL]
    hook=AsycFilt.cab_Installer
    FileVersion=2,20,4056,1[AsycFilt.cab_Installer]
    file-win32-x86=AsycFilt.cab
    InfFile=AsycFilt.inf[MSVBVM50.DLL]
    hook=MSVBVM50.cab_Installer
    FileVersion=5,0,37,24[MSVBVM50.cab_Installer]
    file-win32-x86=MSVBVM50.cab
    InfFile=MSVBVM50.inf到Microsoft站点下载AsycFilt.cab和MSVBVM50.cab放到自己的CAB目录即可。现在只要给生成的CAB签名就好了。