WebView2 运行库基础与部署
系统环境与安装策略
Windows 11 默认自带常青版(Evergreen)WebView2,通常无需额外操作。若是 Windows 10、7 或 8.1,缺失该组件会导致调用控件的软件报错'缺少 WebView2 运行环境'。
针对开发者和普通用户,主要有两种官方安装路径:
1. 常青版(Evergreen Runtime) 这是首选方案。引导包仅 2MB 左右,会自动跟随 Edge 浏览器内核同步更新,共享 Chromium 组件。这意味着所有软件共用一个运行库,资源占用极低且能永久适配新版网页标准。
2. 固定版本(Fixed Version) 适合需要打包分发的开发者。它是一个独立完整包,不自动更新,版本固定。在制作安装包时将其捆绑分发,可避免用户环境版本不一致引发的兼容问题,实现软件与运行库的一体化交付。
注意:运行库无独立界面,静默运行于后台,不会修改系统默认浏览器设置,也不占用桌面空间。支持从 Windows 7 SP1 到 Windows 11 的全系统架构,32/64 位均兼容。
开发集成示例
主流开发框架如 C# (WinForms/WPF)、C++、VB.NET 和 Python 均支持 WebView2。这里提供两个最常用场景的极简代码,基于常青版运行库编写。
C# WinForms 嵌入示例
这是企业级应用中最常见的用法。核心在于初始化运行时并加载源地址。
using Microsoft.Web.WebView2.WinForms;
private async void Form1_Load(object sender, EventArgs e)
{
// 初始化运行环境,加载指定网页或本地 HTML
await webView21.EnsureCoreWebView2Async(null);
// 设置源地址,支持 http 链接或本地文件路径
webView21.Source = new Uri("https://www.baidu.com");
}
C++ 基础初始化
C++ 环境下需处理 COM 接口回调,逻辑上类似但更底层。
#include "WebView2.h"
// 初始化 WebView2 环境,绑定窗口句柄加载网页
CreateCoreWebView2EnvironmentWithOptions(nullptr, nullptr, nullptr,
Callback<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>(
[hwnd](HRESULT result, ICoreWebView2Environment* env) -> HRESULT {
if (SUCCEEDED(result)) {
env->(hwnd, ...);
}
S_OK;
}).());


