2011-07-29 13 views
1

私のボックスにPIAがインストールされています。Microsoft.mshtmlです。私が正しく理解していれば、これらのPIAはCOM interopの生活を楽にするためにMicrosoftから提供されています。しかし、どのCOMコンポーネントが実際にこのPIAによってラップ/コールされているかを知りたいと思います。 UnauthorizedAccessExceptionが発生しているため、実際のCOMコンポーネントを探して、適切なアクセス許可を与えるためにdcomcnfg.exeを使用します。私はこれが正しい方向であることを願っています。特定のPIAによってどのCOMコンポーネントが呼び出されるかを知るにはどうすればよいですか?

ありがとうございます!

答えて

3

これはc:\ windows \ system32 \ mshtml.dllです。私は真剣にdcomcnfg.exeがあなたの問題を解決しようとしていることに疑いを持っています。これはインプロセスCOMサーバーです。 SysinternalsのProcMonユーティリティを使用して、どのレジストリまたはファイルアクセスが例外を生成しているかを正確に確認することで、より多くの洞察を得ることができます。エラーコード5を探します。

PIAが必要なのは、自分のパブリッククラスのCOMサーバーから種類を公開するときだけです。それは一般的ではありません。 PIAは、VS2010の素晴らしい「埋め込みInteropタイプ」オプションの歴史です。 「no pia」オプションと名前を付けました。プロジェクト+参照の追加、参照タブでPIAを回避するには、c:\ windows \ system32 \ mshtml.tlbを選択します。以前のバージョンのWindowsでの.dll。

+0

IE7をIE8にアップグレードします。アラブ首長国連邦はなくなった。物事は今大丈夫です。しかし、私はまだこれの根本的な原因については不明です。私はIEの異なったバージョンのためのmshtmlの異なった版があるかどうか疑問に思っている。しかし、mshtmlの公式ダウンロードサイトは見つかりませんでした。 – smwikipedia

+0

はい、IEをアップグレードすると、mshtml.dllもアップグレードされます。これはIEのインストールに含まれているので、別途ダウンロードする必要はありません。 –

+0

今日、私はmshtmlと別の問題に遭遇..それは私にAccessDeniedエラーを与える...ああ神.... – smwikipedia

関連する問題