我有一個Windows窗體應用程序使用傳統供應商的COM對象。我已經註冊了ocx。 VS2010項目成功引用axFOO dll。該代碼在Windows 7上運行的Visual Studio中工作。安裝項目安裝正確,如果安裝在我的本地PC(win7)上,它可以正常工作。當我嘗試安裝在Windows 2008虛擬機,安裝成功後,當執行使用對象的應用程序的部分它失敗,此錯誤:窗口的ActiveX控件不支持Windows 2008 R2 - 適用於Windows 7的
Unable to get the window handle for the 'xx' control. Windowless ActiveX controls are not supported.
我有OCX文件註冊。我發現了幾篇關於Vista和DEP的文章。沒有關於Win7和win2008的區別。我現在使用命令關閉了DEP
bcdedit.exe /set {current} nx AlwaysOff
這沒有幫助。
應用程序是用C#。 有什麼建議嗎?我更習慣於ASP.net。 COM對我來說是新的。謝謝。
而且,我已經確定了異常初始化方法在這裏觸發:
((System.ComponentModel.ISupportInitialize)(this.myCtrl)).EndInit();
更多細節: 我的的Win2008機器上安裝VS 2010,試圖讓兩個沒有相似運氣。在VS2010調試模式下運行同樣的問題。當異常命中時,不會在VS中停止。雖然我沒有想到它會。
這裏是一個非常愚蠢的知識庫文章 - 但也許* *可能會有所幫助:http://support.microsoft.com/kb/814736 – paulsm4 2012-08-16 18:32:32
保羅,我所見到的。事實上,我把我的東西放進一個面板。似乎沒有幫助。此外,我正在使用C#和更新版本的Visual Studio。我不知道這篇文章有多精確...... – LethalFlipper 2012-08-16 18:36:23
不是很恐怖:(我的最後一個建議:將.ocx(和任何相關的.dll文件)複製到\ windows \ system32,並在那裏註冊。抱歉,我不能更有幫助:( – paulsm4 2012-08-16 18:38:34