ActiveX控件正常下载后,我将.ocx和其他.dll文件自动下载到C:\winnt目录下,为何通过.ocx调用时提示找不到.dll呢

解决方案 »

  1.   

    这个控件在开发机上可以正常调用,在普通的客户端就无法正常的调用.dll了,这是为何
      

  2.   

    是不是应当将.ocx.dll放到网站下.---愚见.
      

  3.   


    codebase="http://IP/ActiveX/webLoginX.ocx#version=3,0,61,0"
    要让网页能够自动下载,有两个办法:
    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
      

  4.   

    控件签名了但还是不行,我把IE安全级别调到低也不行如何注册dll呢,我在注册表中看到了.ocx的注册信息,没有关于包中其他.dll的信息还有我进行开发的机器上同样的操作没有问题,没有使用D7中的注册功能,而是进行客户端访问操作方法进行注册,能够正常使用
      

  5.   

    要么.dll存放路径或引用方式不正确,
    请仔细检查.
      

  6.   

    我设置的是winnt目录下,在目录中查找.dll都有
    lyq(阿飞)说的引用方式不正确是指在哪里的引用啊,程序都一样,在开发机上调用没问题,用其它的客户端调用开发机上的控件也不行