gpt4 book ai didi

c# - 如何使 COM ActiveX 对象在 IE 64 位中工作?

转载 作者:行者123 更新时间:2023-11-30 22:46:14 25 4
gpt4 key购买 nike

我使用 <object classid="clsid:XXX..."> 在 ASP.NET 页面中嵌入了一个 COM 对象.它适用于 IE 32 位,但不适用于 IE 64 位 - 无法访问其功能。没有错误消息,也没有我可以获得一些信息的事件日志。

dll 在 C# 中,包括 COM 可见类,为任何 CPU 编译(尽管我也尝试过 x86),并在客户端安装期间通过执行 regasm 注册。这会创建注册表项,除了 IE 64 之外一切正常。我在互联网上搜索了这个问题或至少一些指南,但没有找到任何东西。

我在另一个论坛上收到了一个答案,关于 _MERGE_PROXYSTUB(我猜它是预处理器定义?)和 ProxyStubClsid32 注册表项,但不是很详细。好吧,我再次搜索,没有找到太多,并进行了试验:使用定义的 _MERGE_PROXYSTUB 重建,在各处创建 ProxyStubClsid32 键,但没有结果。

至少可以有哪些可能的解决方案或要点?也许至少有一种方法可以获取关于为什么 IE 64 无法访问它的日志?

最佳答案

AnyCPU 可以在 64 位程序中工作,但你必须以不同的方式注册它。使用 64 位版本的 Regasm.exe,您可以在 c:\windows\microsoft.net\framework64 中找到它。确认您在 HKLM\Software\Classes\CLSID 中获取 key ,而不是在 HKLM\Software\Wow6432Node\Classes\CLSID 中。

关于c# - 如何使 COM ActiveX 对象在 IE 64 位中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2736424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com