在Vista 64bit的winforms窗口中进行MFC Active-X控制; “班级未注册例外”

时间:2009-11-27 07:20:28

标签: mfc windows-vista activex winforms-interop

为了尝试在winforms窗口上托管的ActiveX控件中确认另一个SO海报建议进行密钥处理,我尝试制作一个简单的MFC ActiveX控件,然后将其放在Windows窗体上。在设计时,控制装置出现了没有麻烦。

在运行应用程序时,可怕的“Class not registered exception”。对话框出现。

这两个项目都在VS 2008中.Winforms应用程序是.Net 3.5框架应用程序。

我已经尝试通过调试器运行,从资源管理器(在两种情况下都提升了特权),似乎没有任何工作。我甚至确保用64位和32位regsvr32可执行文件手动注册OCX。

这令我感到困惑,因为我不希望这个运行。我在工作中做了类似的实验(32位Windows XP盒子),没有任何麻烦。

我的VS配置如下:

  • Microsoft Visual Studio 2008
  • 版本9.0.30729.1 SP
  • Microsoft .NET Framework
  • 版本3.5 SP1

    最令人困惑的是ActiveX控件似乎出现在设计时。任何答案,建议或想法将不胜感激。

1 个答案:

答案 0 :(得分:1)

我需要将.Net主机的输出更改为x86而不是“Any Platform”。这是必需的,因为应用程序正在JITTED到未编译ActiveX控件的x64。 D'哦!在更改为ActiveX主机项目后,应用程序运行正常。