9

サードパーティの ocx コントロールを持つ Windows フォーム アプリケーションがあります。次のコマンドは、実行時にオブジェクトを作成するために使用されます。

myObject = myApplication.CreateObject("ML.MFinder", True)

これは正常に機能しており、progID も正しいです。問題は、次のエラーが発生するaspプロジェクトで同じことを行う場合です:

System.Runtime.InteropServices.COMException: No such interface supported

ML.MApplicationClass.CreateObject (文字列 ProgID、ブール値の割り当て) で

他の ocx オブジェクトが asp プロジェクトでも適切に動作するため、奇妙です。IIS 5.1、Windows XP Pro SP3、フレームワーク 3.5 を使用しています。また、手動で ocx を登録しました。

4

2 に答える 2

2

このocxコントロールには、ファイルシステムに対する特定の読み取り/書き込みアクセスが必要ですか?その場合は、ファイルシステムレベルで権限を付与する必要があります:IUSR_XXXXX = READ+EXECUTE。

また、Dependency Walkerツールを使用して、依存関係が欠落していないかどうかを確認する必要があります。

例外でクラスIDを取得していますか?その場合は、そのクラスIDがレジストリに存在するかどうかを確認してください。

于 2013-03-11T14:59:49.853 に答える
2

IIS では、外部ファイルまたは dll にアクセスするための同じ規則はありません。OCX ファイルを使用すると、IIS の制限がさらに厳しくなる可能性があると思います。

問題は参照などではないと思います。おっしゃる通り、OCX は登録済みですが、この OCX にも依存関係はありますか?それらも適切に登録する必要があります。

于 2013-03-11T14:18:14.017 に答える