我的控件是VS2005 MFC写的,代码中实现了自动注册、初始化安全和脚本安全,手动注册控件后,在本地浏览器可以打开,换另一台机子就是红“X”。如果注销控件后,本地浏览器也无法显示了。
  以上控件我已经打成CAB包了,我怀疑是inf文件中的dll文件的版本问题,不知哪位高手愿意教我呀?我在VC6.0的工具depends中查看我的控件有以下dll文件:
(1)树开列表中有以下dll文件:
    ActivXFlash3.ocx   --根节点,我控件的文件名
  MFC80D.DLL      ---显示为黄色问号
    MSVCR80D.DLL    ---显示为黄色问号
    KERNEL32.DLL  
    USER32.DLL
    GUI32.DLL
    ADVAPI32.DLL
    OLE32.DLL
    OLEAUT32.DLL
    WS2_32.DLL
(2)详细列表中有以下dll文件:
    ActivXFlash3.ocx
  MFC80D.DLL      ---显示为黄色问号
    MSVCR80D.DLL    ---显示为黄色问号
    KERNEL32.DLL 
    USER32.DLL
    GUI32.DLL
    ADVAPI32.DLL
    OLE32.DLL
    OLEAUT32.DLL
    WS2_32.DLL
    MSVCRT.DLL -----此处以下为多出的文件,不知道为什么比树形控件中列出的多了
    NTDLL.DLL
    RPCRT4.DLL
    WS2HELP.DLL   请高手帮我写个管用的inf文件,感激不尽......
   再问个问题:(1)如果inf文件没问题,打成CAB包后,再用在www.ca365.com申请来的免费代码签名数字证书对CAB包签名后,将IE安全项的所有关于ActiveX的项全部启用,在网页中用<object>标签后是否还需要其它的工作要做?
       (2)如果inf文件没做对,在网页中不会下载并自动注册控件?   感激不尽......

解决方案 »

  1.   

    你居然用DEBUG版发布,极不专业啊。没有装过开发环境的系统上是不会有DEBUG版的运行期库的,所以你应该用Release版重新编译再发布。
      

  2.   

    从MFC80D.DLL可以说明你编的是debug版,你既然要发布,应该编release版
      

  3.   

    VC菜单 -> build -> Set Active Configuration -> release 
    重新编译
      

  4.   

    换成release版后,有以下dll文件:
    (1)树开列表中有以下dll文件:
        ActivXFlash3.ocx   --根节点,我控件的文件名
      MFC80.DLL      ---显示为黄色问号
        MSVCR80.DLL    ---显示为黄色问号
        KERNEL32.DLL  
        USER32.DLL
        GUI32.DLL
        ADVAPI32.DLL
        OLE32.DLL
        OLEAUT32.DLL
        WS2_32.DLL
    (2)详细列表中有以下dll文件:
        ActivXFlash3.ocx
      MFC80.DLL      ---显示为黄色问号
        MSVCR80.DLL    ---显示为黄色问号
        KERNEL32.DLL 
        USER32.DLL
        GUI32.DLL
        ADVAPI32.DLL
        OLE32.DLL
        OLEAUT32.DLL
        WS2_32.DLL
        MSVCRT.DLL -----此处以下为多出的文件,不知道为什么比树形控件中列出的多了
        NTDLL.DLL
        RPCRT4.DLL
        WS2HELP.DLL发现只是楼上仁兄说的2个文件不一样,那我这个控件的inf文件应该怎么样写呀?谁给详细给解答下呀?感激不尽.....
      

  5.   

    最好是用静态连接,这样就不需要以来这两个DLL了,先选static link to MFC,再把runtime library 选为MT