【发布时间】:2011-10-05 15:24:17
【问题描述】:
我有一个 .NET 3.5 应用程序,该应用程序是使用 Any CPU 的配置编译的。应用程序正在使用互操作程序集引用 OCX 文件。
当应用程序安装在 Windows 7 32 位上时,一切正常。在 Windows 7 64 位上安装相同的应用程序时,我们会收到错误消息:
检索具有 CLSID {CCB90182-B81E-11D2-AB74-0040054C3719} 的组件的 COM 类工厂失败,原因是以下错误:80040154
使用 SysInternals 中的 Process Monitor 我可以看到在 32 位操作系统上,系统正在尝试加载以下注册表项。
HKCR\Wow6432node\CLSID\{above CLSID}\InprocServer or
HKCR\Wow6432node\CLSID\{above CLSID}\InprocServer32
哪些是可用的,这就是应用程序工作的原因。
Windows 正在寻找的 64 位版本
HKCR\Wow6432node\CLSID\{above CLSID}\InprocHandler or
HKCR\Wow6432node\CLSID\{above CLSID}\InprocHandler32
它们都不存在。
如何让它在 Windows 7 64 位上运行?
【问题讨论】:
标签: windows-7-x64 ocx