none
COM在win7,vista中的使用问题 RRS feed

  • 问题

  • 开发一个进程外的com程序,正确的安装和注册后,在windows xp,2000中可以浏览器中用js建立该com对象并正常启动程序,但在win7,vista中也 用" /regserver"注册后成功,查看注册表,也有注册信息,但就不能用脚本正常启动它.老是在浏览器中弹出 "automation 服务不能创建对象",在win,vista的应用中开发com应该注册些什么问题,怎么才能正常使用.谢谢!!
    2010年1月23日 14:54

全部回复

  • 建议你检查浏览器的安全配置选项,是否允许通过脚本创建组件。

    2010年1月27日 2:31
  • 谢谢回复:)

    首先,此为自己开发的程序,要部署到用户机器上,这样浏览器的环境是默认的最好,不能发布之后,要告诉用户把他的浏览器安全设置降级才可以使用,这样是不现实的,网上有关于此的问题的解决方法对于开发者来说不是好的解决之道,可以针对使用者.

    我开发的com,在win xp,win2000 等系统上使用完全正常,系统环境和浏览器安全设置都是原来默认的,都是完全正常可以使用,用脚本创建对象等都没有问题.

    问题是在win vista,7系统上不正常,脚本才不能创建对象的.通过几天的分析,我发现,如果在win7中,我启动浏览器时用右键 以管理员帐户 运行IE8时,也可以正常创建对象,如此得出结论,是win 7安全因素所致.是默认情况下打开浏览器时不是以管理员权限运行的,所以不能通过脚本创建对象.

    有两点疑问,我的com是个进程外的com对象,脚本在xp等系统中创建对象时,其实时启动了一个程序,而在win7中,也弹出确认创建,但不成功.基于上面的分析是权限不够.我如何在创建过程中提升权限.以达到能创建的目的.或者可能要在win7在用com,哪么com要基于一些新的特性才可以,但这恰恰我不知道.知道的朋友可以说说.

    在win7中,问题的具体细节可以参考,您先安装qqlive 2009 beta5,完成安装不要启动该程序,然后打开http://cache.tv.qq.com/v8/home_index.htm,再浏览页面上的某个影片,播放,它就启动程序进行播放,我的应用跟此是类似的,而他们的在win7也可以正常使用.这样类似的效果就可以了.

    望知道的朋友能帮助一下,谢谢:)
    2010年1月27日 6:29