В Vista, использующей IE8, у меня есть экземпляр IWebBrowser2, который я использую для получения текущего HTML-документа:
IWebBrowser2* browser;
CComPtr<IDispatch> disp;
HRESULT hr = browser->get_Document(&disp);
Когда это выполняется администратором, вызов завершается успешно. Однако при вызове обычным пользователем вызов возвращает код ошибки «800706B5» («Интерфейс неизвестен»), несмотря на то, что страница на «Надежном сайте» и «Защищенный режим» отключены.
Этот же код работал без проблем на IE7 на Vista и на IE8 на XP.
Кто-нибудь знает, почему эта ошибка может возникать, и что я могу сделать, чтобы решить эту проблему? Запуск от имени администратора не идеален, и Джон Скит тоже озадачен этим:)
Обновление: вопрос, кажется, вращается вокруг UAC: полное отключение UAC позволяет работать обычному пользователю (хотя это явно небезопасно)