Windows 10 Enterprise LTSC 環境で Microsoft Edge WebView2 Runtime を入れようとして「0x80040C01」で失敗する——この現象は、かつて「LTSC は WebView2 非対応」という背景と、インストーラ選択や企業ポリシーの誤設定が重なると起きやすいトラブルです。本記事では、当時の経緯を振り返りつつ、2025年現在の正式サポート状況、原因の切り分け観点、実務で使える検証・修復・再配布の手順を、コピペで使えるコマンドと表でわかりやすく整理します。
Windows 10 Enterprise LTSC で WebView2 が入らなかった理由(当時)
公開初期の LTSC は、長期安定を最優先する設計方針のため新機能の追加が抑制されていました。Microsoft Store/UWP 基盤がなく、Web コンテンツをホストする新しい仕組み(WebView2)も提供開始当初は対象外でした。そのため、当時は WebView2 を必要とするアプリを使うには、Windows 10 SAC(半期チャネル)や Windows 11 へ移行するのが実質的な解でした。
2025年時点の最新状況:主要 LTSC 版は正式対応
現在は状況が大きく変わっています。最新の公式ドキュメントでは、Windows 10 Enterprise の各 LTSC/LTSB(2015・2016・2019・2021)を含む幅広いクライアントにおいて WebView2 の実行がサポート対象として明記されています。また、Windows 10 22H2 では OS の延長サポートに合わせ、WebView2 Runtime 自体の更新提供が少なくとも 2028 年 10 月まで継続する旨が周知されています。つまり「LTSC だから入らない」は、現在は原則として当てはまりません。
サポート対象(要点)
| OSエディション | WebView2対応 | 補足 |
|---|---|---|
| Windows 10 Enterprise 2015 LTSB | 対応 | 累積更新の適用が前提。古いCPU(SSE3 非対応)は最新版 Edge/WebView2 の更新対象外になる場合あり。 |
| Windows 10 Enterprise 2016 LTSB | 対応 | 同上。 |
| Windows 10 Enterprise 2019 LTSC | 対応 | 延長サポート中。WebView2 は独立更新で維持可能。 |
| Windows 10 Enterprise 2021 LTSC | 対応 | 実運用での主力。Runtime 自動更新が有効なら常に最新へ。 |
| Windows 11(すべてのエディション) | 原則同梱 | Windows 11 には Evergreen Runtime が同梱(原則)。 |
※上表は 2025 年時点の公式ドキュメント記載を要約したものです。導入前には各環境のビルドと累積更新の適用状況を確認してください。
エラー 0x80040C01 の正体を「設計」から理解する
0x80040C01 は WebView2 ランタイムのセットアップでしばしば報告される一般エラーです。Windows Installer の標準コードではなく、以下のような「運用・配布まわり」の条件不備で発生しがちです。
- Bootstrapper をオフラインで使用:小さなオンラインインストーラ(MicrosoftEdgeWebview2Setup.exe)はダウンロード前提。オフライン端末では失敗します。
- すでに新しいバージョンが存在:スタンドアロンで古い版を入れようとすると「新しすぎて置き換え不可」状態になり 1 で終了(呼び出し元には失敗)。
- Advanced Installer/他インストーラからの呼び出し手順ミス:サイレントオプションや待機ロジックの不備で「戻り値 1」を拾い、0x80040C01 扱いになる事例があります。
- 企業ポリシーでインストール/更新が禁止:Edge Update の GPO/レジストリが「Install/Update をブロック」。ランタイム配置が拒否されます。
- 破損した既存ランタイムの残存:Per-user と Per-machine の競合や、過去の中断で不整合が生じているケース。
- プロキシ/SSL 検査/ゼロトラストの干渉:証明書インポートやシステムプロキシ設定が不十分で取得に失敗。
- OS が未更新 or 旧 CPU:累積更新不足や SSE3 非対応 CPU などで最新版が適用不可。
「これだけやれば直る」実践フロー
下記は、現場での再現性が高い順に並べた標準フローです。1→6 を上から順に実施してください。
1. 事前に OS とハードウェア要件を満たす
- Windows 10 Enterprise LTSC(2015/2016/2019/2021)の最新累積更新を適用。
- CPU が SSE3 をサポートするかを確認(古い CPU は Edge/WebView2 の最新更新対象外の場合があります)。
2. 既存のランタイム状態を可視化
まず、ランタイムの有無とバージョンをレジストリで確認します。
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
PowerShell なら以下でまとめて確認できます(管理者実行推奨)。
$paths = @(
'HKLM:\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}',
'HKCU:\Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}'
)
$paths | ForEach-Object {
if (Test-Path $_) {
$pv = (Get-ItemProperty $_).pv
Write-Host "$_ : $pv"
} else {
Write-Host "$_ : (not found)"
}
}
3. ログを採取する(以降の判断がラクになります)
- Edge Update ログ:
C:\ProgramData\Microsoft\EdgeUpdate\Log\MicrosoftEdgeUpdate.log - WebView2 インストーラの詳細ログ:インストーラに
--log-file="C:\temp\wv2.log"を付与
例(x64 スタンドアロン実行時):
MicrosoftEdgeWebView2RuntimeInstallerX64.exe /silent /install --log-file="C:\temp\wv2.log"
4. 破損/競合の疑いがある場合はクリーンアップ
以下の手順で強制アンインストール→再起動を実施します。
- インストーラの実体パスへ移動(例):
cd "C:\Program Files (x86)\Microsoft\EdgeWebView\Application\1*\Installer" - 強制アンインストール:
setup.exe --uninstall --msedgewebview --system-level --verbose-logging --force-uninstall - 再起動
必要に応じて上記レジストリキー(...EdgeUpdate\Clients\{F301...})の pv が消えていることを確認します。
5. 正しいインストーラを使う(オフラインなら「スタンドアロン」)
| 方式 | ファイル | ネットワーク要件 | スイッチ例 | 向いている用途 |
|---|---|---|---|---|
| Evergreen ブートストラップ | MicrosoftEdgeWebview2Setup.exe | オンライン必須 | /silent /install | 配布サイズ最小。社外端末や一般配布に |
| Evergreen スタンドアロン | MicrosoftEdgeWebView2RuntimeInstallerX64.exe 等 | オフライン可 | /silent /install | 閉域・検疫ネットワーク、SCCM/Intune 配布 |
| Fixed Version(同梱) | 展開済みバイナリ一式 | アプリ内に同梱 | アプリ側でパス指定 | 厳格な検証が必要な産業/医療等 |
誤りが多いのは「オフライン機にブートストラップを使う」ケースです。閉域やプロキシ制限があるなら、必ずスタンドアロンを使いましょう。
6. 企業ポリシー(Edge Update)を点検する
WebView2 の導入・更新は「Microsoft Edge Update」のポリシーに従います。LTSC でもここが Disable だと 0x80040C01 の原因になります。最低限、下記を確認してください(ドメイン参加端末想定)。
| 設定箇所 | キー/ポリシー | 推奨値 | 説明 |
|---|---|---|---|
| GPO | 管理用テンプレート → Microsoft Edge Update → Microsoft Edge WebView2 Runtime → Allow installation | Enabled(1) | インストール許可。Force Installs (5) で機械別強制も可 |
| レジストリ | HKLM\SOFTWARE\Policies\Microsoft\EdgeUpdate\Install{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5} | 1 (DWORD) | WebView2 Runtime のインストール許可 |
| GPO | Microsoft Edge WebView2 Runtime → Update policy override | Always allow updates(1) | 自動更新を許可(既定で有効) |
| レジストリ | HKLM\SOFTWARE\Policies\Microsoft\EdgeUpdate\Update{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5} | 1 (DWORD) | WebView2 Runtime の更新許可 |
| プロキシ設定 | Microsoft Edge Update の ProxyMode/ProxyServer | 環境に応じ設定 | アップデータは OS プロキシとは別設定を持てます |
原因別:0x80040C01 の具体的な対処リスト
| 症状/ログのヒント | 想定原因 | 解決策 |
|---|---|---|
| ブートストラップが「ネットワークに到達できない」旨を出力 | オフライン or プロキシで遮断 | スタンドアロン版で配布/Edge Update のプロキシ方針を構成 |
| 戻り値 1だが端末には新しい WebView2 が存在 | 新しい版が既に導入済み | インストーラの結果判定を「戻り値 0 以外=致命的」としない。必要なら /repair |
| Advanced Installer/ラッパーからの呼出し時のみ失敗 | サイレント/待機制御の誤り | 実行は /silent /install、完了待ちの方式を setup.exe の終了待ちに揃える |
| ログに「installation disabled by policy」と出力 | Edge Update の GPO/レジストリがブロック | 上表のポリシー値を是正し、端末を再起動/ポリシー再読込 |
アンインストール後も復旧せず、pv 値がnullのまま | 破損した残骸 | 強制アンインストール → レジストリの該当キーをバックアップのうえ整理 → 再インストール |
| 古い LTSC でのみ失敗/更新不可 | 累積更新不足/古い CPU | OS 更新適用、SSE3 対応の確認。必要なら Fixed Version で検証 |
「Evergreen は Windows Update と独立」— LTSC 運用での利点
Evergreen WebView2 Runtime は、Windows Update とは別のメカニズムで自動更新されます。LTSC の思想は「機能更新を抑制して安定性を維持」ですが、WebView2 はブラウザと同様に高頻度で脆弱性対策が必要です。Evergreen の自動更新によって、OS の機能更新を待たずとも WebView2 を最新に保てるため、長期運用のセキュリティと互換性を両立できます。更新を止めたい場合は、前述の Update Policy Override を明示的に構成してください。
ネットワーク制限が厳しい環境は「Fixed Version Runtime」を同梱
インターネットへ出られない端末、審査が厳格な制御ネットワークでは、アプリ側に WebView2 の Fixed Version を同梱する方式が公式に用意されています。おおまかな手順は次のとおりです。
- 開発端末で Fixed Version パッケージを取得し、展開。
- アプリのセットアップにバイナリ一式(
msedgewebview2.exeなど)を同梱。 - アプリ起動時に WebView2 環境生成 API で browserExecutableFolder(.NET は CreationProperties)に展開先を指定。
Fixed Version はサイズが 250MB 超と大きく、更新もアプリ側で差し替える運用になりますが、閉域運用やバリデーションが厳しい分野では有効な選択肢です。
コピペで使える:配布と検証のスクリプト集
Intune/SCCM 等でのサイレント配布(スタンドアロン)
MicrosoftEdgeWebView2RuntimeInstallerX64.exe /silent /install --log-file="C:\Windows\Temp\wv2_install.log"
既存環境の「修復」実行(ユーザー影響を最小化)
MicrosoftEdgeWebView2RuntimeInstallerX64.exe /repair /silent --log-file="C:\Windows\Temp\wv2_repair.log"
アンインストール→即時再インストール(クリーン再配置)
REM アンインストール
for /d %%i in ("C:\Program Files (x86)\Microsoft\EdgeWebView\Application\1*") do (
if exist "%%i\Installer\setup.exe" (
"%%i\Installer\setup.exe" --uninstall --msedgewebview --system-level --force-uninstall --verbose-logging
)
)
REM 再インストール
MicrosoftEdgeWebView2RuntimeInstallerX64.exe /silent /install --log-file="C:\Windows\Temp\wv2_reinstall.log"
全社横断チェック(PowerShell・管理共有での簡易台帳出力)
$computers = Get-Content .\targets.txt # 1 行 1 台
$result = foreach ($c in $computers) {
try {
$pv = Invoke-Command -ComputerName $c -ScriptBlock {
$k = 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}'
if (Test-Path $k) { (Get-ItemProperty $k).pv } else { $null }
}
[PSCustomObject]@{ Computer=$c; WebView2=$pv }
} catch {
[PSCustomObject]@{ Computer=$c; WebView2="(NG: $_)" }
}
}
$result | Export-Csv .\wv2_inventory.csv -NoTypeInformation -Encoding UTF8
トラブルを未然に防ぐ 8 つの設計チェック
- Bootstrapper と Standalone を使い分ける:オフラインは必ず Standalone。オンラインは Bootstrapper で配布サイズ最小。
- 完了待ちを正しく制御:親インストーラは setup.exe の完了を待機。起動直後に WebView2 を使うアプリを起動しない。
- Per-machine を基本に:一台を複数ユーザーが使う環境は per-machine で統一。per-user が残っていれば per-machine で上書き。
- Edge Update のポリシー整合:Install/Update をブロックしない。プロキシ設定は Updater にも適用。
- ログと監視を仕込む:
--log-fileで必ずログを残し、失敗時に収集。 - Fixed Version の選択基準を明確化:閉域・検証重視の現場だけに限定。
- OS 累積更新と CPU 世代:古い LTSC/CPU では想定外の停止が起きやすい。要件を事前審査。
- 復旧パスを標準化:アンインストール→再起動→再インストールの手順を運用 Runbook に記述。
よくある質問(LTSC 特有の疑問に回答)
Q. 「LTSC は機能追加を止める」設計と Evergreen の自動更新は矛盾しない?
A. 矛盾しません。OS の機能更新(Feature Update)は抑制されますが、WebView2 はブラウザ同様のアプリ/ランタイムとして独立更新される設計です。セキュリティ修正を迅速に取り込みつつ、OS 基盤の安定性を維持できます。
Q. Windows Update を完全遮断しているが、更新はどうする?
A. Edge Update と Windows Update は別系統です。Edge Update の通信も遮断している場合は、スタンドアロンで計画的にロールアウトするか、アプリ同梱の Fixed Version を選び、定期的に差し替えましょう。
Q. それでも 0x80040C01 が消えないときの最終チェックは?
- ログにポリシーブロックの痕跡がないか(installation disabled by policy など)。
- セキュリティ製品/EDR のアプリ制御(WDAC/AppLocker)がインストーラを阻害していないか。
- プロキシ証明書の信頼連鎖(中間/企業 CA)がシステムストアに入っているか(オンライン導入時)。
- 残骸のレジストリ
pvがnullのままになっていないか。
まとめ
- 以前の回答は正しかったが、今は前提が変わった:過去には「LTSC は WebView2 非対応」という判断が現実的でした。しかし 2025 年現在は LTSC(2015/2016/2019/2021)でも WebView2 実行が公式にサポートされています。
- 導入のカギは「正しいインストーラ」「正しいポリシー」「正しいネットワーク」:0x80040C01 はブートストラップのオフライン利用、Edge Update ポリシーのブロック、破損残骸など運用要因で生じやすい。スタンドアロンの活用、GPO/レジストリの見直し、クリーンアップで解消できます。
- Evergreen は Windows Update と独立:LTSC でも機能更新を待たずに最新の WebView2 を維持可能。長期安定運用でもセキュリティを確保できます。
参考:このページの前提(読者向けメモ)
- 記載内容は 2025 年 11 月時点の公式ドキュメント(Microsoft Learn など)の要点を実務視点で再整理したものです。
- 実環境ではセキュリティ製品や構成管理(Intune/SCCM)、ポリシーの組み合わせで挙動が変わり得ます。まずは検証用 OU/デバイスでのパイロット導入を推奨します。
付録:チェックリスト(印刷用)
- OS:Windows 10 LTSC(2015/2016/2019/2021)+最新累積更新
- CPU:SSE3 サポート
- ランタイム状態:
pvが妥当なバージョンを示す - インストーラ:閉域=スタンドアロン/開放=ブートストラップ
- Edge Update:Install/Update 許可(Install/Update{F301…}=1)
- プロキシ:Microsoft Edge Update 用の設定を適用
- ログ:
--log-fileを指定して保存 - 不具合時:強制アンインストール→再起動→再インストール
- 閉域要件:Fixed Version を同梱し、アプリでパス指定

コメント