用Atl开发的ActiveX控件怎么打包发布啊?
控件名是OpenDev.dll,这个控件用到了ConnectDev.dll,ReadDev.dll两个第三方库,我自己写了 inf文件,签名啊等,试了好久但都不能正常下载安装。
麻烦高手帮忙写个Inf文件,以及说说看怎么签名发布在Web上面。

解决方案 »

  1.   

    我写过的一个inf文件内容[version]
    signature="$CHICAGO$"
    AdvancedINF=2.0[Add.Code]
    FavTool.dll=FavTool.dll
    FavTool.inf=FavTool.inf[FavTool.dll]
    file=FavTool.cab
    RegisterServer=yes 
    clsid={2FB70F47-0A65-4D4B-AA1F-28ACB30B6828}
    DestDir=10
    FileVersion=1,0,0,1[FavTool.inf]
    file=FavTool.cab
      

  2.   

    现在XPSP2的系统都是要装也可以,非得出现什么未认证之类的东西出来,
    我自已建了一个认证中心,在客户机上改了IE的信息CA设置,
    都还有部分机器提示不安全!
      

  3.   


    OpenDev.dll,ConnectDev.dll,ReadDev.dll=ReadDev.dll
    和inf文件
    都放到cab包中inf可以仿照以下:[version]
    signature="$CHICAGO$"
    AdvancedINF=2.0[Add.Code]
    OpenDev.dll=OpenDev.dll
    ConnectDev.dll=ConnectDev.dll
    ReadDev.dll=ReadDev.dll[ConnectDev.dll]
    file-win32-x86=thiscab
    FileVersion=1,0,0,1
    DestDir=11
    RegisterServer=yes [ReadDev.dll]
    file-win32-x86=thiscab
    FileVersion=1,0,0,1
    DestDir=11
    RegisterServer=yes [OpenDev.dll]
    file-win32-x86=thiscab
    FileVersion=1,0,0,1 
    DestDir=11
    RegisterServer=yes  文件版本要做相应修改网页中可以这样写(假如打的cab文件名是OpenDev.cab)<object id="myobj" classid="clsid:2FB70F47-0A65-4D4B-AA1F-28ACB30B6828" codebase="http://.../OpenDev.cab#version=1,0,0,1">
    </object>这样试试看行否
      

  4.   

    现在已经可以正常下载安装了,我用VC的“ActiveX Control Test Container"在客户端上测试了,可以正常加载该控件,但页面上就是显示不出来光一个红叉,有的机器又可以,我把IE的安全设置也检查了一下,也没发现什么特别不一样的地方。
    哎!~~~~~~~~要疯了,到底怎么回事啊?
      

  5.   

    是不是在开发机器上不行?
    如果是,那么可能是编译控件时,开发工具已经帮你注册了控件。
    可以反注册已经注册的控件(而且要把dll文件从安装目录中删除掉),然后再试试,应该就可以了。
      

  6.   

    用vc的depends工具查看是否是你的dll少了某些动态库.
      

  7.   

    应该是数字签名的问题,WEB页上下载安装的控件必须通过权威机构的数字签名才可以被正确的显示在IE里的。
      

  8.   

    数字签名的工具及签名方法参阅:
    http://other.mblogger.cn/kinglet/posts/271275.aspx
    http://msdn2.microsoft.com/zh-cn/library/9sh96ycy(VS.80).aspx
      

  9.   

    是因为没有数字签名地原因啦!需要购买第3方地数字证书才可以的。参考:http://www.wotrust.com/FAQ/whySigning.htm
      

  10.   

    inf可以仿照以下:[version]
    signature="$CHICAGO$"
    AdvancedINF=2.0[Add.Code]
    OpenDev.dll=OpenDev.dll
    ConnectDev.dll=ConnectDev.dll
    ReadDev.dll=ReadDev.dll[ConnectDev.dll]
    file-win32-x86=thiscab
    FileVersion=1,0,0,1
    DestDir=11
    RegisterServer=yes [ReadDev.dll]
    file-win32-x86=thiscab
    FileVersion=1,0,0,1
    DestDir=11
    RegisterServer=yes [OpenDev.dll]
    file-win32-x86=thiscab
    FileVersion=1,0,0,1 
    DestDir=11
    RegisterServer=yes  文件版本要做相应修改网页中可以这样写(假如打的cab文件名是OpenDev.cab)<object id="myobj" classid="clsid:2FB70F47-0A65-4D4B-AA1F-28ACB30B6828" codebase="http://.../OpenDev.cab#version=1,0,0,1">
    </object>