Если вы встраиваете элемент управления Webbrowser в свое приложение, то на самом деле вы встраиваете COM-объект. Во время выполнения ваше приложение будет CoCreateInstance () управлять веб-браузером, который загрузит его из версии SHDOCVW.DLL или IEFRAME.DLL, которая в настоящее время находится на компьютере. Таким образом, на простом английском языке вы получите веб-браузер IE6, IE7 или IE8, в зависимости от того, что установлено на компьютере.
Практические различия, однако, минимальны, так как интерфейсы были опубликованы давно и не изменились по этим версиям. Различия с точки зрения различных команд, которые поддерживаются некоторыми интерфейсами (например, IOleCommandTarget), в любом случае устраняются управляемым уровнем, поэтому вам не нужно об этом беспокоиться. Самым большим отличием будут различия в рендеринге, поскольку между IE6 и IE8 существует огромная разница в соответствии CSS. Вам придется протестировать различные версии, используя VHD-файлы приложения Microsoft Compat .
Когда я работал над совместимостью приложений для IE с веб-браузером, это была огромная проблема; команда очень усердно работает, чтобы убедиться, что поведение не регрессирует именно для этого сценария - пользовательского корпоративного приложения VB, на котором размещается WebOC.
Хотя, если вы решите использовать решение с открытым исходным кодом для распространения с вашим приложением, могу ли я предложить WebKit ? Его механизм компоновки очень хорош, а исходный код довольно хорошо поддерживается и легко читается, хотя вам придется написать собственный слой управляемого хостинга. Код Gecko гораздо сложнее читать и отлаживать.