0

レガシーベンダーのcomオブジェクトを使用するWindowsフォームアプリケーションがあります。ocxを登録しました。VS2010プロジェクトは、axFOOdllの参照に成功します。このコードは、Windows7で実行されているVisualStudioで機能します。セットアッププロジェクトは正しくインストールされ、ローカル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をインストールして、運が悪かったので2つをもっと似たものにしようとしました。VS2010デバッグモードで実行しても同じ問題が発生します。-例外が発生したときにVSで停止しない。期待していなかったけど。

4

1 に答える 1

1

他の誰かを助ける場合に備えて、これをここに置きます。正確には答えではありません。

私は自分の問題を見つけました。procmonを使用します。

したがって、それは述べられたエラーとは何の関係もありませんでした。comオブジェクトを実行しているユーザーには、使用する必要があるとは知らなかったフォルダーへのIO権限がありませんでした。

于 2012-08-23T16:54:43.490 に答える