Evergreen Webview2

WebView2 offers two primary distribution modes:

| Feature | Evergreen | Fixed Version | |------------------------|------------------------------------|----------------------------------| | Runtime updates | Automatic (via Microsoft) | Manual (developer-controlled) | | App size overhead | None (shared runtime) | Large (runtime embedded) | | Security patches | Immediate (OS-level) | Developer must redistribute | | Chromium version | Latest stable (rolling) | Pinned at development time | | Network deployment | Simple (check for runtime presence)| Complex (include binaries) |

The Evergreen mode is the recommended default for most applications because it reduces the developer’s burden to ship security updates and ensures users always have a compliant, up-to-date web platform.


While Evergreen is the default and recommended approach for 95% of apps, it introduces environment variability. evergreen webview2

If your app relies on a very specific JavaScript behavior or a newly introduced API, User A might experience a bug that User B does not.

The Solution: For enterprise apps that require absolute consistency (e.g., kiosk systems, strictly regulated industries), Microsoft offers the "Fixed Version" distribution mode. This allows you to package a specific version of the WebView2 Runtime inside your app, freezing it in time. This sacrifices the benefits of auto-updating in exchange for stability.

Since the runtime updates automatically, your app can leverage the latest JavaScript features, CSS grid improvements, or WebAssembly optimizations without a code change. WebView2 offers two primary distribution modes: | Feature

Many beginners assume Windows comes with WebView2. It does not (as of Windows 11 22H2, it's preinstalled, but on Windows 10 and older builds, it's missing). Always implement bootstrapper fallback.

Your WinForms app needs to log into Azure AD or Google. Instead of spinning up a separate browser or writing custom HTTP listeners, you embed a tiny WebView2, point it to https://login.microsoftonline.com. Evergreen ensures that the latest security headers, cookie policies, and FIDO2 (passkey) support are available. You never have to update your identity code.

Even though the runtime updates automatically, you aren’t completely hands-off. While Evergreen is the default and recommended approach

Set CoreWebView2EnvironmentOptions.TargetCompatibleBrowserVersion if you require a specific baseline.

var options = new CoreWebView2EnvironmentOptions();
options.TargetCompatibleBrowserVersion = "1.0.1245.22";
var env = await CoreWebView2Environment.CreateAsync(null, null, options);
await webView.EnsureCoreWebView2Async(env);

This tells Evergreen: "Only use runtimes >= version 1.0.1245.22."