我用vb6。0开发了一个控件,想用在网页里。
用Visual stadio 6.0的“Package & Deployment 向导,并选择“Internet下载类型”
用向导生成.cab文件,在.htm文件中正确的使用了object标签。可是为什么不能够自动下载注册安装?

解决方案 »

  1.   

    用Installshield或其他的专业制作安装软件就可以设置自动注册的
    你生成的是EXE文件等,当下载EXE文件自动运行即是自动安装了
      

  2.   

    刚写好的 ActiveX 控件在 IE 中 default 是不安全的,那是由于你所写的 ActiveX 没有
    通过认证公司的认证,试想如果任何人写好了 ActiveX 就可以放在 Internet 给人下载运行
    ,那不是很容易发一些有病毒的 ActiveX 给人了吗?所以任何未经认证的 ActiveX 是不能
    给下载的。   如果下让对方可以下载,有两个方法:
    1、把你的 ActiveX 拿去认证。
    2、通知要打开你的 html 的客户,修改 IE 中的安全级别,把安全级别里面所有与 ActiveX 
       有关的选项都打开,(IE 中 default 是不允许下载未经验证的 ActiveX)。
      

  3.   

    这个我知道。安全设置都设置过了,也跳出窗口问用户是否安装控件,回答是后最后还是没有安装和注册上。我手工注册后,在网页里可以正常的运行,证明控件没有问题的。
    我想也许是vs6.0的"Package & Deployment "没有正确的把cab包打好,vs.net还没有试过。
    至于用Installshield做setup程序不是太好,如果没有办法,最后可能也只能用这种办法了。
      

  4.   

    到 http://www.microsoft.com/workshop/prog/cab 这里下载一个 Cabinet 的软件,微软的
    免费软件。该软件是用来打包成 cab 文件用了。
    注意在打包 cab 文件时,如果打包进 cab 的文件多于一个的话,就要写一个 .inf 文件,
    并与要打包的文件一起打包入 cab 里,.inf 文件就是描诉 cab 中的文件该怎样注册等
    信息的。怎样写 .inf 文件就要看相关的文档了,其实不是很难的。
    最后用 Cabinet 中的工具 cabarc.exe 打包就可以了。
    例如: cabarc -s 6144 n demo.cab atl.dll demo.dll demo.inf
    上面前三个参数(-s 6144 n)不变, 接着就是想生成的 cab 文件名,后面的是要打包的
    文件列表,注意 .inf 放最后。如果正确做好的以上后还是不行的话,那应该是你的 ActiceX 实现中少了以下重要的
    接口:
    IObjectSafetyImpl<CDemo, INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA>
    这段代码只要修改 CDemo 为你自己的 class 就可以了。
      

  5.   

    你的控件在安装过程中要进行自注册,installshield中提供了此属性
      

  6.   

    我用一些工具做过cab文件,都不行。我想可能就是缺实现某些接口,我是用vb写控件的,new project选择activex control选项,它应该帮我实现这些接口的阿,msdn里也找不到IObjectSafetyImpl的vb帮助
      

  7.   

    dtc030,vb怎么解决这个问题啊