自己制作了一个ActiveX控件(.ocx),在一网页中插入这个控件。在作为WEB服务器的机器上使用IE打开这个页面控件运行正常(因为该机已经注册了这个控件),在其它机器上第一次用IE打开这个页面时,应该提示下载安装控件,却没有下载安装这个控件,也没有这个提示,请高手指教。谢谢!

解决方案 »

  1.   

    主要是因为你的控件没有经过签名,IE的安全性拒绝下载了。进行签名可以解决,或把你的客户端的IE安全性降低。
      

  2.   

    1、在你的机器上数字签名所需要的工具,叫什么名字不记得了,只晓得是个ZIP文件,叫codesigningx86,是WINDOWS下面使用的,正常解开后会有以下文件:
    ==============
    cabarc.exe
    cert2spc.exe
    chktrust.exe
    makecat.exe
    makecert.exe   (必须)
    makectl.exe
    setreg.exe
    signcode.exe   (必须)
    ================
            以上的可以的微软的站点下载
            以上根据需要来确定采用哪些工具,这里我采用了makecert.exe   来制作认证的证书,signcode.来进行数字签名这时会在你的目录下生成个oranje.pvk和oranje.cer文件,打开.cer文件可以看到是证书信息
              颁发给:王成
              颁发者:Rooe   Agenct
              有效起始日期   2003-11-29   到   2040-1-1好了,有了这个证书可以进一步搞你的DLL或CAB等的认证了2、进入DOS状态,进入改目录输入:makecert   -sv   oranje.pvk   -n   "CN=王成,[email protected],O=王成"   oranje.cer
    这个是制作证书   -sv是制作加密的文件(好象是的),CN是公司   E=EMail   O=认证公司的名称   oranje.cer是生成文件的名称,好象都是以.cer为后缀的这时制作的证书是没有任何认证公司认证的,听说认证一年需要好几百美金,俺没钱,所以只好自己做个使用了,功能都一样3、运行Signcode.exe出现一个数字签名向导
            下一步   选择需要签名的文件(dll.ocx.cab等)
            下一步   这里选择了自定义
            下一步   选择签名证书   从文件选择   选择刚才做好的oranje.cer   
            下一步   私钥   磁盘上的私钥文件   点浏览选择刚才做好的oranje.pvk   
            下一步   输入密码   
            下一步   选择算法,这里我选择的是sha1   
            下一步   配置证书路径   这里我选择了“证书路径中所有证书,包括根证书”就是默认的
            下一步   描述:输入安装证书时提示的文字,随便输入,这里我输入“公文编辑器”   WEB位置是点了你输入的东西的链接,我这里输入http://www.cn2cn.com   —>   下一步   时间   没做改动   
            下一步   完成4、恭喜你,证书制作完毕,马上配置你的CAB或DLL等试试看,第一次运行会出现安装你的证书,以后再运行就不需要了,也不会出现“不安全的ACTIVEX,不让安装”等提示了5、调试及运行环境
          windows   2000   P
          IIS   5
      

  3.   

    做个数字签名吧。不过。偶测试过。在XP SP2下,有提示。但也不能安装。最好打包为安装文件。下载到客户端安装吧。做数字签名步骤:
    http://www.zqba.com/blog/article.asp?id=18
      

  4.   

    如果不是IESP2 你把IE里所有关于ActiveX控件的选项都设置为允许,如果是IESP2你做个安装包在客户端安装即可
      

  5.   

    如何给activeX加数字签名  
    首先要有工具包,包括以下几个软件:
    (以下软件在Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin都可以找到)makecert.exe  制作cer格式的证书,即X.509证书,同时可以创建私钥
    cert2spc.exe  将cer格式证书转换成spc格式证书,即PKCS #7证书
    signcode.exe  将证书签署到ocx上去
    chktrust.exe  检查签署证书后的ocx是否正确
    还有一个certmgr.exe,是管理证书用的。可以从这里面导出root.cer来,
    网上很多文章写到这个证书,但是在VC的安装盘中却找不到。其实,没
    有也没关系的。这几个软件可以从VC的安装盘中找到。下面是具体的步骤:
    1、创建一个自己的证书文件:
    makecert -sk "photoup.PVK" -ss myName  -n "CN=公司名称,E=email,O=作者" photoup.cer
    这里,photoup.PVK表示新创建的私人密钥保存文件名
       
          ss-主题的证书存储名称
          photoup.cer是你创建最后的证书文件名
    这些根据你自己的要求填写,最后得到Record.PVK和dream.cer两个文件。
    其中,运行过程中需要输入私人密钥的保护密码,一定要输入一致,不要
    出错。2、转换cer格式为spc格式
    cert2spc dream.cer dream.spc得到dream.spc文件。3、给ocx进行签名
    运行signcode,命令行的我没有试验通过,我是通过界面实现的。
    signcode运行后会出现数字签名向导,首先选择你要签名的ocx,
    下一步后会出现签名选项,一种是典型,一种是自定义。选择自定义,
    这样才能从文件选择证书,选择前面制作的dream.spc,再下一步是
    选择私钥文件,选择Record.PVK,输入私人密钥的保护密码,选择散
    列算法,一般用md5就可以了,下一步是选择其他证书,直接下一步,
    填写一下这个控件的声明,用户用ie浏览的时候,会弹出证书说明,
    再下一步是加盖时间戳,填入http://timestamp.verisign.com/scripts/timstamp.dll(免费的),完成。4、用chktrust检查是否正确
    chktrust -v RecordProj.ocxchktrust -v 就这样,得到了一个测试证书,恩,虽然只是一个测试证书,但至
    少保证这个ocx在ie浏览的时候能够弹出来一个窗口,问你是否安装,
    而不是直接禁止了。
      

  6.   

    xp sp2  activeX 控件还是不能下载的 ie--工具---Internet选项--安全--自定义级别--ActiveX控件的选项中的 下载未签名的控件设置为允许