用vb做了个activex 控件,生成cab放到网上后。有的机子能下载有的不能。就打算做个exe文件让用户下载后运行注册ocx控件。注册了ocx文件后,有的机器能打开网页运行了。有的还是不行。服务端代码调用:<HTML>
<BODY>
<object id=Abcd  height=30 width=100 classid=clsid:953A2CCA-7586-4765-B3E5-7B054203091B>
    <embed height="30" width="100">
    </embed>
  </object>
  <script>
      <!--
      alert(document.getElementById("Abcd").ZCHard);
      -->
   </Script>
</BODY>
</HTML>是不是这里面缺点什么东西啊

解决方案 »

  1.   

    打包方式不对,应为web包,格式类似下面的:
    <HTML>
    <HEAD>
    <TITLE>UserCode39.CAB</TITLE>
    </HEAD>
    <BODY>
    <!-- 如果这页上的任何控件需要授权,您必须
    创建一个授权包文件。 运行 LPK_TOOL.EXE 来创建
    要求的 LPK 文件。 LPK_TOOL.EXE 将从 ActiveX SDK 中找到,
    http://www.microsoft.com/intdev/sdk/sdk.htm. 如果您有 Visual
    Basic 6.0 CD, 您可以在\Tools\LPK_TOOL 目录下找到它。 下面是对象标记的例子:<OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
    <PARAM NAME="LPKPath" VALUE="LPKfilename.LPK">
    </OBJECT>
    --><OBJECT ID="UserCode39"
    CLASSID="CLSID:7D617E59-1F32-4830-999D-094CA7C5F933"
    CODEBASE="UserCode39.CAB#version=1,0,0,1">
    </OBJECT>
    </BODY>
    </HTML>
      

  2.   

    <HTML>
    <HEAD>
    <TITLE>ZCHard.CAB</TITLE>
    </HEAD>
    <BODY>
    <!-- 如果这页上的任何控件需要授权,您必须
    创建一个授权包文件。 运行 LPK_TOOL.EXE 来创建
    要求的 LPK 文件。 LPK_TOOL.EXE 将从 ActiveX SDK 中找到,
    http://www.microsoft.com/intdev/sdk/sdk.htm. 如果您有 Visual
    Basic 6.0 CD, 您可以在\Tools\LPK_TOOL 目录下找到它。 下面是对象标记的例子:<OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
    <PARAM NAME="LPKPath" VALUE="LPKfilename.LPK">
    </OBJECT>
    --><OBJECT ID="UserControl1"
    CLASSID="CLSID:953A2CCA-7586-4765-B3E5-7B054203091B"
    CODEBASE="ZCHard.CAB#version=1,0,0,0">
    </OBJECT>
    </BODY>
    </HTML>
    这个也不行啊
      

  3.   

    肯定缺少东西,你的CAB包名及目录位置呢?
    加上如下:
    <object id=Abcd  height=30 width=100 classid=clsid:953A2CCA-7586-4765-B3E5-7B054203091B codebase="控件包名称.CAB#version=1,0,0,0">
      

  4.   

    http://topic.csdn.net/u/20090508/10/32fb3417-2f2b-44a6-8e2c-118c492698d9.html最后注意一下浏览器的安全设置,是否禁用了。