Evergreen Webview2 May 2026
Pro tip: In production, embed the bootstrapper as a resource or pre-download it on your server. Even though the runtime updates automatically, you aren’t completely hands-off. Updating Your SDK When Microsoft releases a new WebView2 SDK (e.g., new APIs or performance fixes), you should update your NuGet package and recompile. The new SDK might rely on features or performance guarantees from newer runtimes. Your app will still run on older Evergreen runtimes (down to the minimum version you set), but to use new APIs, you need a newer runtime. Minimum Version Strategy Set CoreWebView2EnvironmentOptions.TargetCompatibleBrowserVersion if you require a specific baseline.
WebView2 is a control that allows developers to embed Chromium-based Microsoft Edge into desktop applications. Unlike its predecessor, the WebBrowser control (which used Internet Explorer), WebView2 complies with modern web standards, supports features like WebRTC, Service Workers, WebGL, and receives security updates via Edge's lifecycle.
Furthermore, Microsoft has announced that the legacy WebBrowser control will be permanently disabled in future Windows releases. For line-of-business applications still using VB6 or WinForms with IE, migration to Evergreen WebView2 is not optional—it’s a necessity. Evergreen runtime supports Windows 7 ESU (Extended Security Updates) as well. However, on legacy OS, the runtime won’t auto-update if the OS itself is out of support. Plan accordingly. Part 10: Conclusion – Evergreen is the Default Choice To wrap up: Evergreen WebView2 is Microsoft’s strategic solution for hosting web content in native apps. It combines the best of both worlds: the rich capabilities of Chromium with the deployment simplicity of automatic updates. evergreen webview2
%LocalAppData%\Microsoft\EdgeWebView\Application\Version\ Or, for machine-wide installations:
// Download the bootstrapper from: // https://go.microsoft.com/fwlink/p/?LinkId=2124703 var bootstrapperPath = DownloadBootstrapper(); Process.Start(bootstrapperPath, "/silent /install"); // Wait for installation, then retry await Task.Delay(30000); await webView.EnsureCoreWebView2Async(); Pro tip: In production, embed the bootstrapper as
webView.CoreWebView2.NewBrowserVersionAvailable += (sender, e) =>
try
// This uses the Evergreen runtime automatically. // It will look for an existing runtime; if none exists, you can optionally trigger download. await webView.EnsureCoreWebView2Async(null); // Navigate to your local or remote content webView.CoreWebView2.Navigate("https://myapp.local/dashboard.html"); If the runtime is missing, EnsureCoreWebView2Async throws an exception. Handle it by downloading the bootstrapper: