2014-09-11 83 views
1

我有32位的活动X DLL的视频streaming.It工作正常的32位IE浏览器。为了在64位IE中支持这个活动的x dll,我已经成功地为64位机器构建了这个dll。我已经通过运行DUMPBIN实用程序来检查这个dll是否为32位或64位。64位IE的Active X

我们能够成功注册这64位DLL,但它没有在64位IE中正确加载。

每次在访问Active X组件的HTML

“对象不支持此属性。”我得到这个错误我如何调试这个issue.Please帮我解决这个问题

回答

0

我刚从一个悲惨的一周出来面临类似的问题。所以我会尽量总结一切,直到它在我脑海中仍然新鲜。

有多种方法,这取决于你的目标IE版本的问题 -

IE 10和向上

这里没有真正的问题。您在创建安装包(Setup.exe)时需要执行的所有操作都是在发布模式中构建的,平台为AnyCPU[1]。这将运行ActiveX而不管底层机器的体系结构如何。

IE9 32位

发布的DLL和的ActiveX,你通常会在32位机上和部署。

IE9 64位

这就是事情变得有点毛茸茸的!

没有办法使上述DLL和ActiveX限制在64位IE9上工作。因此,即使由于强加的安全限制,Adobe Flashplayer也不会运行。详细了解它here

发布一些相关的摘录:

在过去的几个版本,Internet Explorer已经留着一个多进程架构,其中的“框架”或“经理人”的过程,在中等完整性和“标签”运行或“内容”进程以低完整性(保护模式)或中等完整性(针对禁用保护模式的区域,如内联网站点)运行。所有HTML内容和ActiveX控件在内容处理中运行。

在桌面上的Internet Explorer中,默认情况下,默认情况下,内容处理默认保持32位,以兼容32位ActiveX控件,工具栏,BHO等。即使您直接启动64位iexplore.exe可执行文件,一个只有32位内容进程的64位管理进程。

所有的说和做,还有一个工作。

  1. 部署您的32位ActiveX(我知道这是一个64位的机器,坚持)。
  2. 在开始菜单下搜索“Internet Explorer”。
  3. 你会看到3个版本的IE。在括号内启动没有写在旁边的IE。另外两个是IE(64位)和IE(不附加组件)。
  4. 在桌面上创建此IE的快捷方式。

此IE是应用程序的32位版本,它预先打包在您的操作系统中。运行你的HTML,它应该像一个魅力工作!