Windows 2008R2不支持无窗口ActiveX控件 - 适用于Windows 7

时间:2012-08-16 18:29:13

标签: .net winforms com activex windows-server-2008-r2

我有一个使用旧版供应商com对象的Windows窗体应用程序。我注册了ocx。 VS2010项目成功引用了axFOO dll。该代码适用于在Windows 7上运行的Visual Studio。安装项目安装正确,如果安装在我的本地PC(win7)上,它可以工作。当我尝试在Windows 2008 VM上安装时,安装成功,当执行使用该对象的应用程序部分时,它会失败并显示以下错误:

  

无法获取'xx'控件的窗口句柄。不支持无窗口ActiveX控件。

我已经注册了ocx文件。我发现了几篇关于Vista和DEP的文章。没有关于Win7和win2008的差异。我现在使用命令

关闭了DEP
bcdedit.exe /set {current} nx AlwaysOff

这没有帮助。

应用程序是用C#编写的。 有什么建议?我更习惯ASP.net。 COM对我来说是新的。感谢。

此外,我已经确定在Initialize方法期间触发了异常:

 ((System.ComponentModel.ISupportInitialize)(this.myCtrl)).EndInit();

更多细节:  我已经在Win2008机器上安装了VS 2010,试着让两者更加相似而没有运气。在VS2010调试模式下运行会出现同样的问题。 - 异常命中时不要在VS中停止。虽然我没想到它。

1 个答案:

答案 0 :(得分:1)

将此放在这里,以防它帮助其他人。不完全是答案..

我发现了我的问题。使用procmon。

所以这与陈述的错误无关。执行com对象的用户对我不知道需要使用的文件夹没有IO权限。