Как узнать, какой компонент COM вызывается определенной PIA? - PullRequest
1 голос
/ 29 июля 2011

На моем компьютере установлена ​​PIA, это Microsoft.mshtml . Если я правильно понял, эти PIA предоставлены Microsoft, чтобы облегчить нашу жизнь взаимодействия COM. Но я хочу знать, какой компонент COM фактически обернут / вызван этой PIA. Поскольку у меня возникла исключительная ситуация UnauthorizedAccessException, я хочу найти фактический компонент COM и использовать dcomcnfg.exe для предоставления ему соответствующего разрешения. Я надеюсь, что это правильное направление.

Спасибо!

1 Ответ

3 голосов
/ 29 июля 2011

Это c: \ windows \ system32 \ mshtml.dll.Я серьезно сомневаюсь, что dcomcnfg.exe решит вашу проблему, это внутрипроцессный COM-сервер.Вы можете получить больше информации, используя утилиту ProcMon от Sysinternals, чтобы точно определить, какой реестр или доступ к файлам генерирует исключение.Ищите код ошибки 5.

PIA требуется только при представлении типов с этого COM-сервера в ваших собственных открытых классах.Не так часто.PIA - это история с потрясающей опцией «Вставить типы взаимодействия» в VS2010.Прозвище «без пиа».Вы избегаете PIA с Project + Add Reference, вкладкой Browse, выбираете c: \ windows \ system32 \ mshtml.tlb..Dll в более ранних версиях Windows.

...