Microsoft Edge WebView2 是什么,可以卸载吗
Microsoft Edge WebView2 Runtime 是 Windows 的共享组件,让普通 App 能用和 Edge 相同的引擎显示网页内容。它显示为 msedgewebview2.exe,经常同时有很多个,就算 Edge 关着也一样,它不是病毒,也不是 Edge 浏览器。不要卸载它,靠它的 App 会打不开,如果它占很多内存或 CPU,要处理的是启动它的那个 App,这个 App 的名字是查得到的。
它是什么
开发者用 WebView2 把 App 窗口的一部分甚至全部做成网页,微软的 分发指南 说 Evergreen 模式的 App “use a shared copy of the Evergreen WebView2 Runtime”,也就是共用一份,能省磁盘空间,而且它“updates automatically”,会自动更新。同一页还说 Runtime 是 Windows 11 的一部分,绝大多数 Windows 10 设备上也已经有了。
微软的 进程模型 解释了为什么进程这么多,它和浏览器一样,有一个浏览器进程、一个或多个渲染进程,以及 GPU、音频这样的辅助进程,每个用户数据文件夹有自己的一组,通常是一个 App 一个。
一台装 Windows 11 的 ThinkPad 测试机上,Edge 关着,从这个文件夹跑着 12 个副本:
C:\Program Files (x86)\Microsoft\EdgeWebView\Application\<version>\msedgewebview2.exe
找到背后的 App
每个主副本都把宿主记在命令行的 --webview-exe-name 里,下面这段按 App 统计副本数:
Get-CimInstance Win32_Process | Where-Object Name -eq 'msedgewebview2.exe' | ForEach-Object {
if ($_.CommandLine -match '--webview-exe-name=(\S+)') { $Matches[1] }
} | Group-Object | Select-Object Count, Name
测试机上只输出一个名字 wetype_update.exe,是一个中文输入法的更新程序,占了 10 个副本。崩溃处理这类辅助进程不带这个参数,所以统计数可能比总数少。想再确认,可以看主副本的父进程:
Get-CimInstance Win32_Process | Where-Object { $_.Name -eq 'msedgewebview2.exe' -and $_.CommandLine -notmatch '--type=' } | ForEach-Object {
(Get-CimInstance Win32_Process -Filter "ProcessId=$($_.ParentProcessId)").Name
}
内存或 CPU 高怎么办
| 看到的情况 | 通常意味着 | 怎么试 |
|---|---|---|
| 几个副本,内存占用不大 | 一个带网页内容的 App,正常 | 不用管 |
| 内存很高,关掉某个 App 就降 | 那个 App 的网页内容 | 更新 App,或者关掉不用的窗口 |
| 副本来自你不用的 App | 后台 App 或更新程序 | 卸载它,或者关掉它的启动项,看 管理启动项 |
| 某个 App 开着时 CPU 一直高 | App 里的页面很忙或卡住了 | 重启 App,再更新它 |
| App 提示缺少 WebView2 或打不开 | Runtime 缺失或损坏 | 从 微软下载页 安装 |
卡住的一组可以在任务管理器的“详细信息”标签页结束,用它的 App 可能出现空白、重新加载或关闭,能关 App 就关 App。
占多少磁盘
Runtime 本身是共用的,就地更新,旧版本文件夹可能在新版本旁边留一阵子,测试机上就有两个。占磁盘更多的通常不是 Runtime,而是每个 App 自己的数据文件夹,名字常是 EBWebView,在 AppData 里那个 App 的文件夹下面,新版 Teams 这类 App 的 Chromium 缓存能涨到好几 GB,可以看 清理 Teams 缓存。
它是病毒吗
真正的文件在 C:\Program Files (x86)\Microsoft\EdgeWebView\Application 下,由微软签名。App 也可能在自己的文件夹里带一份固定版本,所以位置不同不等于恶意软件,但要看签名:
Get-Process msedgewebview2 | Select-Object -First 1 -ExpandProperty Path | Get-AuthenticodeSignature
签名者应该是 Microsoft,如果不是,或者副本从 Temp 运行,就用 Microsoft Defender 扫描。
不要这样做
- 不要用论坛脚本强行删 Runtime,小组件、Teams、Office 的部分功能和很多 App 都可能出问题,它还可能自己装回来。
- 不要手动删
EdgeWebView\Application里的文件,可能有 App 正在从那里运行。 - 不要把它当成 Edge 在后台运行,关 Edge 影响不到它,可以看 Edge 在后台运行。
- 不要因为它去装“内存清理”工具,这些内存是用它的 App 在用。
Mole 能做什么
Mole for Windows 的“状态”页把从同一文件夹运行的 msedgewebview2.exe 副本,按会话折叠成一行,CPU 和内存加在一起,几个 App 共用时也一样。这一行菜单里的“为什么在运行?”会列出占用最高的几个副本,点开一个能看到由谁启动,如果是以你的账户、未提权运行的副本,还有带 --webview-exe-name 的“命令”,不用再跑上面的 PowerShell。“终止”和“强制退出”会作用于这一行的全部副本,可能影响不止一个 App,关掉宿主 App 更稳妥。“软件”页把 WebView2 Runtime 当作共享组件,不提供卸载。“清理”可以列出新版 Teams 的 WebView2 缓存。
常见问题
Microsoft Edge WebView2 Runtime 是什么?
它是 Windows 的共享组件,让 App 用 Edge 的引擎显示网页内容,以 msedgewebview2.exe 运行,和 Edge 浏览器是两回事。
可以卸载 Microsoft Edge WebView2 吗?
不要,用它的 App 会失效或打不开,Windows 或其他 App 也可能再把它装回来。
msedgewebview2.exe 为什么占这么多内存?
通常是某个 App 在通过它显示网页内容,用 --webview-exe-name 找到 App,更新或者关掉它。
为什么有这么多 msedgewebview2.exe 进程?
它和浏览器一样,渲染、GPU 和其他辅助工作都是单独的进程,每个用户数据文件夹有自己的一组,通常是一个 App 一个。
msedgewebview2.exe 是病毒吗?
真正的文件由微软签名,通常从 C:\Program Files (x86)\Microsoft\EdgeWebView\Application 运行,从其他位置运行时看一下签名。