none
ActiveX发布问题 RRS feed

  • 问题

  • 我使用VC6 MFC做了一个控件,然后编写了inf文件,并打包成cab,最后写入了数字签名。但是用IE打开的时候(就是用普通的载入ocx的方法),会提示ActiveX被阻止,然后IE就卡住失去响应了。

    怎么解决这个问题?是否我发布的方法错误了?

    2011年8月31日 6:25

答案

  • 您好,

     

    这是一个inf 文件的格式,您可以根据自己的实际情况进行修改

    ; geoactive ActiveX installation

    [version]

    signature="$CHICAGO$"

    AdvancedINF=2.0

    ;installation information sections

    [DefaultInstall]

    CopyFiles=InstallFilesSection,InstallInfSection

    RegisterOCXs=RegisterOCXSection

    [DefaultUninstall]

    ; cleanup=1 will cause the inf file to be removed

    cleanup=1

    Delfiles=GV3dWeb.ocx

    [RegisterOCXSection]

    "%11%\GV3dWeb\GV3dWeb.ocx"

    ;[RegisterOCXSection]

    ;"%11%\GV3dWeb\MSFLXGRD.OCX"

    ;[UnRegisterOCXSection]

    ;"%11%\GV3dWeb\GV3dWeb.ocx"

    ;[UnRegisterOCXSection]

    ;"%11%\GV3dWeb\MSFLXGRD.OCX"

    ;files to be copied to the user's machine

    [InstallFilesSection]

    GV3dWeb.ocx =GV3dWeb.ocx

    CGV3dBase.DLL =CGV3dBase.DLL

    CGV3dMeshManage.dll =CGV3dMeshManage.dll

    GeoAtoms.dll =GeoAtoms.dll

    GeoAttribute.dll =GeoAttribute.dll

    GeoBaseUI.dll =GeoBaseUI.dll

    GeoHazard3D_DLL.dll =GeoHazard3D_DLL.dll

    GeoObjBase.dll =GeoObjBase.dll

    GeoObjects.dll =GeoObjects.dll

    GeoStyles.dll =GeoStyles.dll

    glu32.dll =glu32.dll

    GLUT32.DLL =GLUT32.DLL

    GV3dAlgorithms.dll =GV3dAlgorithms.dll

    GV3dDEM.dll =GV3dDEM.dll

    GV3dFileIO.dll =GV3dFileIO.dll

    GV3dRes.dll =GV3dRes.dll

    GV3dUser.DLL =GV3dUser.DLL

    MathGV.DLL =MathGV.DLL

    MSVCRTD.DLL =MSVCRTD.DLL

    OPENGL32.DLL =OPENGL32.DLL

    ORACLM32.dll =ORACLM32.dll

    colors1.tbl =colors1.tbl

    [InstallInfSection]

    GV3dWeb.inf=GV3dWeb.inf

    ;source location for specified platform version

    [GV3dWeb.ocx]

    file-win32-x86=thiscab

    clsid={C633AF53-FF43-4DEE-A3F1-226288C1795D}

    FileVersion=1,0,0,1

    RegisterServer=yes

    ;[MSFLXGRD.OCX]

    ;file-win32-x86=thiscab

    ;clsid={275DBBA0-805A-11CF-91F7-C2863C385E30}

    ;RegisterServer=yes

    ;source location for specified platform version

    [GV3dWeb.inf]

    file-win32-x86=thiscab

    FileVersion=1,0,0,0

    ;destination directory for files in the CopyFiles section

    [DestinationDirs]

    InstallFilesSection=11,GV3dWeb ;new folder in windows system drive (\winnt\system32)

    InstallInfSection=17 ;Windows\Inf folder

     

    您可以参考这些步骤来发布一个ActiveX文件

    你好,

    1,首先您需要对您的脚本和数据初始化为安全。由于大多数的浏览器都有安全设置:您可以通过一下地址来获得更多信息:http://support.microsoft.com/kb/161873/zh-cn

    2,您需要为您的ActiveX插件生成并附加上数字安全证书。

    3,为您的ActiveX插件进行数字签名,以保证其安全性。

    4,生成CAB包,您候需要将ocx,以及ocx所依赖的DLL和其他文件打包在一起。为了能够使ocx控件下载到本地后能够自动注册,此时还需要编写inf文件

     


    Rob Pan [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 Rob Pan 2011年9月7日 3:11
    2011年9月5日 8:52

全部回复

  • 首先可以通过regsvr32的方式确定你的ActiveX注册没有问题,如果没有问题。那么要看你的cab的inf是否有问题,还有就是ie的数字签名必须是认证的签名发布商颁布的。自己创建的数字签名是无效的


    麻烦把正确答案设为解答。
    2011年8月31日 14:21
    版主
  • 这些我都弄了的,而且本地打开网页运行没问题,就是放到Http服务器后打开网页运行,IE就会死掉。

    另外,cab的inf格式具体是什么?我在网上试了很多种,都没用。

    就是在下图这个时候整个IE卡死了。。。。。


    2011年9月1日 2:24
  • 做一个空的ocx试一下是否正常运行


    麻烦把正确答案设为解答。
    2011年9月1日 2:50
    版主
  • 遗憾的是,这个就是一个空的ocx,刚新建的工程,一个代码都没改。郁闷ing
    2011年9月1日 3:26
  • 数字证书没问题?


    麻烦把正确答案设为解答。
    2011年9月1日 3:40
    版主
  • 数字证书没问题的。

    能否详细的讲述一下ActiveX发布的流程,我不知道是不是有什么遗漏的地方。

    2011年9月1日 3:44
  • 您好,

     

    这是一个inf 文件的格式,您可以根据自己的实际情况进行修改

    ; geoactive ActiveX installation

    [version]

    signature="$CHICAGO$"

    AdvancedINF=2.0

    ;installation information sections

    [DefaultInstall]

    CopyFiles=InstallFilesSection,InstallInfSection

    RegisterOCXs=RegisterOCXSection

    [DefaultUninstall]

    ; cleanup=1 will cause the inf file to be removed

    cleanup=1

    Delfiles=GV3dWeb.ocx

    [RegisterOCXSection]

    "%11%\GV3dWeb\GV3dWeb.ocx"

    ;[RegisterOCXSection]

    ;"%11%\GV3dWeb\MSFLXGRD.OCX"

    ;[UnRegisterOCXSection]

    ;"%11%\GV3dWeb\GV3dWeb.ocx"

    ;[UnRegisterOCXSection]

    ;"%11%\GV3dWeb\MSFLXGRD.OCX"

    ;files to be copied to the user's machine

    [InstallFilesSection]

    GV3dWeb.ocx =GV3dWeb.ocx

    CGV3dBase.DLL =CGV3dBase.DLL

    CGV3dMeshManage.dll =CGV3dMeshManage.dll

    GeoAtoms.dll =GeoAtoms.dll

    GeoAttribute.dll =GeoAttribute.dll

    GeoBaseUI.dll =GeoBaseUI.dll

    GeoHazard3D_DLL.dll =GeoHazard3D_DLL.dll

    GeoObjBase.dll =GeoObjBase.dll

    GeoObjects.dll =GeoObjects.dll

    GeoStyles.dll =GeoStyles.dll

    glu32.dll =glu32.dll

    GLUT32.DLL =GLUT32.DLL

    GV3dAlgorithms.dll =GV3dAlgorithms.dll

    GV3dDEM.dll =GV3dDEM.dll

    GV3dFileIO.dll =GV3dFileIO.dll

    GV3dRes.dll =GV3dRes.dll

    GV3dUser.DLL =GV3dUser.DLL

    MathGV.DLL =MathGV.DLL

    MSVCRTD.DLL =MSVCRTD.DLL

    OPENGL32.DLL =OPENGL32.DLL

    ORACLM32.dll =ORACLM32.dll

    colors1.tbl =colors1.tbl

    [InstallInfSection]

    GV3dWeb.inf=GV3dWeb.inf

    ;source location for specified platform version

    [GV3dWeb.ocx]

    file-win32-x86=thiscab

    clsid={C633AF53-FF43-4DEE-A3F1-226288C1795D}

    FileVersion=1,0,0,1

    RegisterServer=yes

    ;[MSFLXGRD.OCX]

    ;file-win32-x86=thiscab

    ;clsid={275DBBA0-805A-11CF-91F7-C2863C385E30}

    ;RegisterServer=yes

    ;source location for specified platform version

    [GV3dWeb.inf]

    file-win32-x86=thiscab

    FileVersion=1,0,0,0

    ;destination directory for files in the CopyFiles section

    [DestinationDirs]

    InstallFilesSection=11,GV3dWeb ;new folder in windows system drive (\winnt\system32)

    InstallInfSection=17 ;Windows\Inf folder

     

    您可以参考这些步骤来发布一个ActiveX文件

    你好,

    1,首先您需要对您的脚本和数据初始化为安全。由于大多数的浏览器都有安全设置:您可以通过一下地址来获得更多信息:http://support.microsoft.com/kb/161873/zh-cn

    2,您需要为您的ActiveX插件生成并附加上数字安全证书。

    3,为您的ActiveX插件进行数字签名,以保证其安全性。

    4,生成CAB包,您候需要将ocx,以及ocx所依赖的DLL和其他文件打包在一起。为了能够使ocx控件下载到本地后能够自动注册,此时还需要编写inf文件

     


    Rob Pan [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 Rob Pan 2011年9月7日 3:11
    2011年9月5日 8:52