MSHTML.dll - Как обеспечить согласованную версию движка рендеринга IE на установочных машинах - PullRequest
4 голосов
/ 27 июля 2011

Меня немного смущает то, что я читаю в Интернете относительно перераспределения MSHTML.dll.

Мое приложение (это инструмент извлечения пользовательских данных) использует WebBrowserControl в приложении WebForms.(может оказаться WPF) и полагается на MSHTML.dll.

Насколько я понимаю, MSHTML.dll существует для обеспечения .NET оболочкой вокруг COM-компонентов, которые существуют на основе текущей установленной версии IEна клиентском компьютере.

ОЧЕНЬ важно, чтобы HTML-код DOM веб-страницы, отображаемой в элементе управления WebBrowser, соответствовал всем установкам и веб-серверу, с которым общается каждый клиент.Меня беспокоит то, что если на клиентских компьютерах установлены различные версии IE, возможно, IE 6 - IE 9, HTML-код DOM может отличаться от компьютера к компьютеру.

Скажем, например, на сервере установлен IE9, иклиентская машина имеет IE6, я думаю, что DOM-представление HTML-страницы может отличаться.

Может кто-то уточнить

a) это действительная проблема, делает ли это работу, как я ожидаю?.

b) могу ли я контролировать используемую версию движка рендеринга, может быть, перераспределить компоненты?

Спасибо за любую помощь.

1 Ответ

1 голос
/ 29 ноября 2011

Отказ от ответственности: я не эксперт в этом вопросе, я только что занимался схожими проблемами в последнее время.

a) действительно ли это вызывает озабоченность, делает ли это работу, как я ожидаю.

Да, элемент управления WebBrowser зависит от установленной версии Internet Explorer.

b) Можно ли управлять используемой версией механизма рендеринга, возможно, путем перераспределения компонентов?

Просмотрите свойство Version элемента управления, и это:
http://blogs.msdn.com/b/ie/archive/2009/03/10/more-ie8-extensibility-improvements.aspx
Вы, вероятно, SOL для IE6 и старше, но если у вас есть приложениепроверьте установленную версию и, при необходимости, обновите ключ в реестре, вы сможете это контролировать.

...