我用Delphi作了一个三层结构的系统,包括数据服务器、应用服务器和一个包含
ActiveX控件的网页,当用户进入该网页时登陆进入系统。怎样做才能在更新ActiveX控
件后,当用户进入网页时自动更新本机上的ActiveX控件(控件上已经加上了版本
号)。望能说的详细一点。

解决方案 »

  1.   

    服务器端建一个表
    定义字段
    最新版本  文件  备注 
        
    在active中登陆是自动检查版本 版本不对就下载更新
      

  2.   

    在放ActiveX控件的页面里,也需要指定版本号的,格式我记不清楚了,Delphi生成的测试页面里应该有的。
      

  3.   

    我的主页列在下面,该怎么改?
    <HTML>
    <HR><center><P>
    <OBJECT
      classid="clsid:0FC05E08-32EA-4A5A-A8F0-514D7927C3C6"
      codebase="Ryda.inf"
      width=794
      height=575
      align=center
      hspace=0
      vspace=0
    >
    </OBJECT>
    </HTML>
      

  4.   

    如果codebase后面是.ocx或.cab文件,写法是:
      codebase="./ParamProj1.ocx#version=1,0,0,6"
    用inf文件的情况我没有试过
      

  5.   

    codebase="http://IP/ActiveX/webLoginX.ocx#version=3,0,61,0"
    兄弟,我跟你一样,也在做一个ActiveX三层应用系统。你的问题我困扰了很久。要让网页能够自动下载,有两个办法:
    1、将客户端IE的安全性调到最低。
    2、控件加签名。
    第一种办法能够行通,但不太实际。你可以将你的控件签名。
    具体的做法是:首先要包括以下几个软件(Microsoft):
    makecert.exe  制作cer格式的证书,即X.509证书,同时可以创建私钥
    cert2spc.exe  将cer格式证书转换成spc格式证书,即PKCS #7证书
    signcode.exe  将证书签署到ocx上去
    chktrust.exe  检查签署证书后的ocx是否正确
    然后:
    1、创建一个自己的证书文件:
    makecert -sv "My.PVK" -n "CN=My" my.cer
    这里,my.PVK表示新创建的私人密钥保存文件名
          my是你想显示的公司名
          my.cer是你创建最后的证书文件名
    2、转换cer格式为spc格式(可以省略)
    cert2spc my.cer my.spc 得到dream.spc文件。
    3、给ocx进行签名
    运行signcode,通过界面实现的。
    4、用chktrust检查是否正确
    chktrust -v myProj.ocx
    题外话,不知你的系统中是否用到的OpenDialog。好象有问题,请帮忙看一下:
    http://www.csdn.net/expert/topic/1025/1025771.xml?temp=.9153864
      

  6.   

    随便再说一句,与你的Inf文件无关。
    要让你的OCX能够自动下载,必须要有签名(否则你只能用我说的第一个办法),这样客户端就会自动判断版本决定是否需要下载
    上面的签名办法,控件有了签名,虽然也是“不安全”的,但会弹出一个窗口,提示用户下载。
      

  7.   

    抱歉,我没在ActiveXForm中使用过OpenDialog,只在Form中用过,没有问题。
      

  8.   

    控件不能是dll吗?我开发了一个ie插件,是dll的,怎么安装?
      

  9.   

    inf 方式好象不支持自动更新的,你最好制成单个的OCX就可以了。