Microsoft Edge WebView2 是什么,要不要装?
Microsoft Edge WebView2 运行时是 Windows 上的共享组件,应用靠它在自己的窗口里显示网页,它不是 Edge 浏览器,依赖它的应用都要先装好这份运行时,包括在 Windows 上用 Pake 做出来的应用。Windows 11 已经自带,所以大多数人什么都不用做。
这份运行时是什么
WebView2 控件把 HTML、CSS 和 JavaScript 嵌进 Windows 应用,再用 Microsoft Edge 的引擎显示这些内容。WebView2 运行时是这些应用另外依赖的平台,微软把它描述成按应用调整过的 Edge 程序文件,作用和 .NET 应用的 .NET 运行时相同,装好以后它不会以浏览器的样子出现,桌面没有快捷方式,开始菜单里也没有入口。
在控制面板里打开程序,再打开程序和功能,条目名叫 Microsoft Edge WebView2 Runtime,任务管理器里的进程名是 msedgewebview2.exe。微软给用户的常见问题写明,每个用到这份运行时的应用都有自己的一组这样的进程。
这份运行时不会安装 Edge 浏览器,不要求系统里先有 Edge,也不会改掉默认浏览器,Microsoft 365 的说明里写了这几点,正式应用也不能用 Edge 稳定版通道代替这份运行时。卸掉 Edge,WebView2 照样能用。
一个 WebView2 应用实际是怎么跑的
WebView2 用的进程模型和 Edge 相同,一组运行时进程里有一个浏览器进程,一个或多个渲染进程,还有 GPU 进程、音频服务这类辅助进程。常见问题里写的是,平时会看到一个管理进程、一个 GPU 进程、几个工具进程和渲染进程,应用里每个网页视图大约对应一个渲染进程,和浏览器一个标签页一个渲染进程差不多。
这一组进程都绑在一个用户数据文件夹上,网页这一侧该存的东西都放在里面,和浏览器一样,包括 Cookie、权限和缓存的资源,这个文件夹放在哪里由宿主应用决定。由此能解释你可能注意到的两件事,登录在重启之后还在,是因为数据文件夹一直留着,卸载一个宿主应用也不一定会删掉它,因为微软的文档说卸载程序会保护并保留用户数据,清理这个文件夹要靠应用自己的卸载流程。
对 Pake 应用来说,这体现在管理应用里,Windows 上点移除会保留登录,除非勾选同时删除登录状态等数据,从设置的应用里卸载同样会保留。
Evergreen 和 Fixed Version
微软的文档写了两种装到电脑上的办法。
| Evergreen | Fixed Version | |
|---|---|---|
| 放在哪 | 所有 Evergreen 应用共用一份安装 | 打进这一个应用的安装包 |
| 更新 | 自动 | 应用作者再发一份 |
| 共享安装程序 | 会装上这一份 | 不能装上这一份 |
能单独安装的 Evergreen 运行时就是程序和功能里的那一项,所有 Windows 11 设备都已经预装,Windows 10 上微软说绝大多数设备已经有,只有少数没有。它会自己更新,运行时发行说明写的是两周一个版本,和 Microsoft Edge 同步。Evergreen 应用不能要求使用某个特定的运行时版本,这台电脑上所有 Evergreen 应用共用同一份运行时。
一开好几天的应用有一点要留意:新的运行时会在后台下载,但微软说客户端要等应用重启才会用上它,所以一直不退出的应用会继续跑在旧版本上,把 Pake 应用退出再打开一次,就能用上新的。
Fixed Version 是打进某一个应用、只给这个应用用的具体版本,它不会自己更新,也不使用下文说的那个注册表项,微软给出的二进制体积超过 250 MB。从程序和功能里移除 Microsoft Edge WebView2 Runtime,不会动另一个应用里的 Fixed Version 副本,那份私有副本也不能代替共享运行时。
哪些应用会用到它
任何 Windows 应用都能用。微软的降级说明举的例子包括 Microsoft Teams、Outlook,以及第三方企业软件,常见问题里还提到小组件、Office 和天气。Microsoft 365 文档写明,Outlook 里的 Room Finder 和 Meeting Insights 这类功能依赖这份运行时,运行时不在,这些功能就用不了,同一页还说明 macOS 设备上不会安装这份运行时。
Windows 版 Pake 用这份运行时来运行你做出来的应用。安装要求是 Windows 10 2004 版(19041 号构建)或更高版本,以及这些应用所需的运行时。Mac 版 Pake 不需要 WebView2。
怎么确认装了没有
最快的办法是看程序和功能,条目叫 Microsoft Edge WebView2 Runtime。要读版本号的话,微软给 Evergreen 运行时记录了一个叫 pv 的注册表值,在 64 位 Windows 上,下面两条命令可以读它,第一条对应按电脑安装,第二条对应按用户安装:
reg query "HKLM\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" /v pv
reg query "HKCU\Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" /v pv
微软说两个位置至少有一个存在,并且版本大于 0.0.0.0,如果两个都不存在,或者值是空的或 0.0.0.0,就说明运行时没有安装,Windows 安装程序要做的也是同样的检查。
共享的运行时留着别删
Microsoft 365 的说明建议允许安装这份运行时,因为依赖它的 Office 功能没有它就不能用。微软的常见问题解释了为什么删掉之后常常又回来,Windows 11 本来就带着它,很多应用在安装或启动时会再装一遍,企业也可以把它推送到受管理的电脑上。装了 Edge 并不能补上这个缺口,别的应用里的 Fixed Version 副本也只属于那个应用。
内存和 CPU 方面,同一份常见问题说,多出来的占用通常来自 WebView2 的用法,不是 WebView2 本身,页面越重花得越多。某个应用一直很吃资源,该看的是这个应用的页面或代码,对 Pake 应用来说就是里面的那个网站。
缺少时怎么装
Windows 11 自带 Evergreen 运行时,所以还保留着这份运行时的电脑不用另外下载。缺少的时候(包括一部分 Windows 10 电脑),到下载 Microsoft Edge WebView2页面装上。
开发者下载页还提供大约 2 MB 的在线引导程序,它会下载和这台电脑匹配的 Evergreen 版本,以及适用于 x86、x64 和 ARM64 的离线独立安装程序,一次 Evergreen 安装就能满足电脑上所有 Evergreen 应用。要用脚本安装的话,微软记录了引导程序的 MicrosoftEdgeWebview2Setup.exe /silent /install,在管理员权限的命令行里运行是按电脑安装,不提权则是按用户安装,之后如果有按电脑安装的 Edge 更新程序,会把按用户的安装替换掉。
Pake 应用里出问题怎么办
运行时缺少时,Pake 会显示Pake 生成的应用需要 Microsoft Edge WebView2 运行时,并带一个指向微软下载页的获取 WebView2 链接,从那里装好 Evergreen 运行时,再重新打开应用。如果一个以前能用的应用提示运行时缺失,重新安装也是合理的做法,因为上面这些页面记录的都是 Evergreen 安装程序,没有单独的修复命令。
网站在 Windows 上和在 Mac 上看起来不一样是正常的,Windows 应用用 Edge 的引擎渲染,Mac 应用用 WebKit,Tauri 和 Electron里解释过。网站在应用里拒绝登录的话,看登录排查,运行时本身很少是原因。
常见问题
WebView2 需要装 Microsoft Edge 吗
不需要。运行时不要求有 Edge,卸掉 Edge,WebView2 照样能用。
为什么会看到很多 msedgewebview2.exe 进程
每个用 WebView2 的应用有自己的一组进程,一组里通常有一个管理进程、一个 GPU 进程、几个工具进程和一个或多个渲染进程。
能卸载它吗
可以,但微软也说了它常常会回来,需要它的应用在回来之前都不能用。对 Pake 应用来说,留着更省事。
