当前位置: 代码迷 >> .NET组件控件 >> 为什么远程注册activex控件失败,该如何解决
  详细解决方案

为什么远程注册activex控件失败,该如何解决

热度:5165   发布时间:2013-02-25 00:00:00.0
为什么远程注册activex控件失败
案例情况:
  本地用localhost访问页面可以正常调用,但是用IP域名访问提示安装控件但是安装后在本地注册表没有注册,所以就不能调用。程序没报错,就是不能注册。我是参考MSDN上一篇文章来写注册函数的,具体可参见http://support.microsoft.com/kb/161873/zh-cn。试了很多办法都不行,求指导。

前端页面代码如下:
HTML code
<HTML><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><HEAD><TITLE>New Page</TITLE></HEAD><BODY><script type="text/javascript">     var checkPsw = function(){        var div = document.getElementById("password").value;        if(div.length>7){            alert("密码要不大于7位");            return;        }else{            encodePsw();        }                }        var encodePsw = function(){        if(window.ActiveXObject){            var div = document.getElementById("password").value;            alert("加密前的值为:" + div);            try{                alert("得到结果为:"+document.getElementById("ActiveXDemoSecond1").encode(div));            }catch(err){                alert("调用异常3");                document.writeln("捕捉到例外,开始执行catch块语句 --->");                 document.writeln("错误名称: " + err.name+" ---> ");                 document.writeln("错误信息: " + err.message+" ---> ");            }        }else{            alert("您的浏览器不支持ActiveXObject,所以调用失败啦");        }    }</script> <OBJECT ID="ActiveXDemoSecond1" WIDTH=100 HEIGHT=51 CLASSID="CLSID:C785A3B6-4D21-4E5D-BABB-B8F917B2B164" CODEBASE="http://192.168.2.186:8080/ActiveXDemo/lib/axs.cab#Version=1,0,0,1">    <PARAM NAME="_Version" VALUE="65536">    <PARAM NAME="_ExtentX" VALUE="2646">    <PARAM NAME="_ExtentY" VALUE="1323">    <PARAM NAME="_StockProps" VALUE="0"></OBJECT><form>    请输入密码:<input type="text" name="password" id="password"" />       <input type="submit" value="Submit" onclick="checkPsw()"/></form></BODY></HTML>

组件是用MFC写的

------解决方案--------------------------------------------------------
目前IE对ActiveX控件的限制已经相当严格,如果没有使用合法证书为自己的控件签名,那么无论你的控件功能多么强大,也将毫无用武之地。

VeriSign,thawte 微软代码签名证书:http://www.willrey.com
  相关解决方案