我用Delphi制作并发布ActiveX控件,为什么我为控件作数字签名后,在浏览时不能下载?

解决方案 »

  1.   

    可能的原因有几个:
    1、你的证书不受信任,自己制作的证书是不受微软信任的。具体的信任证书,可以到IE浏览器中的选项\内容\证书下看到受信任的证书列表。
    所以你要把自己做的证书(根证书)安装的到机器上才可以。2、你的浏览器安全选项设为自定义的,尤其是本地安全策略中“下载未签名的ActiveX控件”和“下载已签名的ActiveX控件”都设为了禁用。把他们设为缺省即可。3、你的机器已经下载了该控件,而服务器上的控件版本没有更新,浏览器不会重复下载的。你可以查看一下“工具\Internet选项\常规\设置\察看对象”,看一下该控件是否已经存在。如存在,删除之,即可。
      

  2.   

    要注意的是千万不要包含lic文件,否则你的网页不能自动下载这个ocx。
    不选Deploy additional files
    选:Include version information in project
        auto_increment build number
      

  3.   

    楼上的,如果要包含lic文件,可以手工编辑inf文件,不过要明白inf的内容和格式:在inf文件中,加入
    [Add.Code]
    RepBS.ocx=RepBS.ocx
    TTF16.ocx=TTF16.ocx
    RepBS.lic=RepBS.lic[RepBS.ocx]
    fileRepBS.ocx
    clsid={E481AB05-E431-4E9B-A522-E4170CF6368C}
    RegisterServer=yes
    FileVersion=1,0,2,0[TTF16.ocx]
    fileRepBS.ocx
    clsid={B0475003-7740-11D1-BDC3-0020AF9F8E6E}
    RegisterServer=yes
    FileVersion=6,0,0,40[RepBS.lic]
    file=thiscab就可以了然后把它和ocx文件打在一个cab包里,在签名后就可以了