Ответ 1
Это дубликат существующего потока SO
Используйте последнюю версию Internet Explorer в элементе управления веб-браузером
В потоке есть много ответов, в которых содержится фактический код.
Лучшее предложение в том же самом - установить очень большое количество для app.exe
в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
Я установил его в 20000
, что можно с уверенностью предположить, что оно будет работать во множестве предстоящей версии и использовать последнюю версию как таковую. Этот случай можно легко сделать во время установки вашего exe как такового. Поэтому вам не придется беспокоиться о том, какая версия существует, а какая нет. Минимальная версия, необходимая для встраивания в работу, - IE 9.
Другой вариант - фактически не использовать Embedded IE вообще. Вместо этого используйте Хром. Существует проект CefSharp для того же самого на
Этот проект позволяет вставлять браузер Chrome в ваши приложения WinForms или WPF. Приложение довольно просто
using System.Windows.Forms;
using CefSharp;
using CefSharp.WinForms;
namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
ChromiumWebBrowser chrome;
private void InitChrome()
{
CefSettings settings = new CefSettings();
Cef.Initialize(settings);
chrome = new ChromiumWebBrowser("https://www.youtube.com/embed/v2fDTOdWuQQ?rel=0&showinfo=0");
this.Controls.Add(chrome);
chrome.Dock = DockStyle.Fill;
}
public Form1()
{
InitializeComponent();
InitChrome();
//this.webBrowser1.Navigate("https://www.youtube.com/embed/v2fDTOdWuQQ?rel=0&showinfo=0");
}
}
}
И отлично работает. Это заставит ваше приложение не зависеть от того, какой браузер установлен на целевой машине.