# Microsoft Edge WebView2 是什麼，可以解除安裝嗎

Microsoft Edge WebView2 Runtime 是 Windows 上的共用元件，讓一般 App 用和 Edge 相同的引擎顯示網頁內容。你看到的是 `msedgewebview2.exe`，常常同時有很多個，連 Edge 關著也是。它不是病毒，也不是 Edge 瀏覽器。不要解除安裝它，依賴它的 App 會跟著壞掉。如果它占了很多記憶體或 CPU，要處理的是啟動這些副本的 App，而且你可以用名稱找到是哪個 App。

## 它是什麼

開發者用 WebView2，把 App 視窗的一部分或全部用網頁做出來。Microsoft 的[散布指南](https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution)說，採用 Evergreen 模式的 App 會 "use a shared copy of the Evergreen WebView2 Runtime"，也就是共用同一份 Runtime，這樣能節省磁碟空間，而且它 "updates automatically"，會自動更新。同一頁也說，這個 Runtime 是 Windows 11 的一部分，絕大多數 Windows 10 裝置上也已經有了。

Microsoft 的[處理程序模型](https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/process-model)解釋了為什麼會有這麼多處理程序：它的運作方式像瀏覽器，有一個瀏覽器處理程序、一個或多個轉譯器，以及 GPU、音訊之類的輔助程序。每個使用者資料資料夾（通常一個 App 一個）都有自己的一組。

在一台裝 Windows 11 的測試用 ThinkPad 上，Edge 關著，仍有十二個副本從這個資料夾執行：

```text
C:\Program Files (x86)\Microsoft\EdgeWebView\Application\<version>\msedgewebview2.exe
```

## 找出背後的 App

每個主要副本都會把它的宿主記在命令列的 `--webview-exe-name` 裡。下面的指令會按 App 算出各有幾個副本：

```powershell
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`，是一款中文輸入法的更新程式，有十個副本。像當機處理程式這類輔助程序不帶這個旗標，所以數量可能比總數少。要確認的話，看主要副本的父程序：

```powershell
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 或更新程式 | 移除它，或關掉它的啟動項目，見[管理啟動項目](/tw/windows/blog/manage-windows-startup) |
| CPU 持續偏高，且和某個 App 有關 | 那個 App 裡的某個頁面很忙或卡住 | 重新啟動 App，再更新它 |
| App 說缺少 WebView2，或打不開 | Runtime 不見了或損壞 | 從 [Microsoft 的下載頁](https://developer.microsoft.com/microsoft-edge/webview2/consumer/)安裝 |

你可以在工作管理員的 **詳細資料** 頁籤結束卡住的那一組。用到它的 App 可能出現空白區域、重新載入或關閉，所以可以的話，直接關掉 App 本身。

## 占多少磁碟空間

Runtime 本身是共用的，會就地更新，舊版本的資料夾有時會和新版本並存一陣子。那台測試電腦有兩個。占空間比較多的通常不是 Runtime，而是每個 App 自己的資料資料夾，常叫 `EBWebView`，放在該 App 的 `AppData` 資料夾底下。它的 Chromium 快取在新版 Teams 這類 App 裡可能長到好幾 GB，見[清除 Teams 快取](/tw/windows/blog/clear-teams-cache-windows)。

## 它是病毒嗎

真正的檔案在 `C:\Program Files (x86)\Microsoft\EdgeWebView\Application` 底下，由 Microsoft 簽署。App 也可能在自己的資料夾裡帶著自己的 Fixed Version 副本，所以位置不同不能證明是惡意軟體，但要檢查簽章：

```powershell
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 在背景執行](/tw/windows/blog/edge-running-in-background)。
- 不要為了它去裝「記憶體清理工具」。那些記憶體屬於正在使用它的 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 是病毒嗎？

真正的檔案由 Microsoft 簽署，通常從 `C:\Program Files (x86)\Microsoft\EdgeWebView\Application` 執行。如果它從其他地方執行，檢查簽章。


Canonical: https://mole.fit/tw/windows/blog/microsoft-edge-webview2-windows
