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



我有一个使用旧版供应商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 对我来说是新的。 谢谢。

另外,我已经确定在初始化方法期间在此处触发异常:

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

更多详情: 我已经在Win2010机器上安装了VS 2008,试图使两者更加相似,但没有运气。 在VS2010调试模式下运行时会出现相同的问题。 - 异常发生时不会在 VS 中停止。 虽然我没想到。

把它放在这里以防它对其他人有帮助。 不完全是答案..

找到了我的问题。使用procmon。

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

最新更新