WebView2によるWeb UI組み込みの知識マップ(知識グラフ)
type: Dataset
description: WebView2はChromiumベースのMicrosoft Edgeを埋め込むコントロールで、既存のWinFormsやWPFアプリに部分的にWeb UIを組み込めるが、ChromiumのためActiveXをホストできず、Tridentエンジンで動くIEモードとは両立しない。ランタイムは自動更新されるEvergreenが原則で、オフラインの製造装置など限定的な場面を除きFixed Versionは避けるべきとされる。ユーザーデータフォルダーを明示的に指定しないと、Program Files配下のアプリでは初期化に失敗する。ネイティブとWebの連携はWebメッセージを基本にし、AddHostObjectToScriptのホストオブジェクト公開は内部でCOMの仕組みを使うため信頼できないコンテンツには登録しない。IEモードのActiveX依存画面を移行するには、ActiveXが担っていた機能をネイティブ側へ再実装しWebメッセージ経由で呼び出す設計が必要になる。

Microsoft Edge WebView2
type: Concept
definition: Chromiumベースのランタイムを使ってWindowsアプリにWeb描画エンジンを埋め込む仕組み。WebBrowserコントロールの完全な差し替え部品ではない。
alternative label: WebView2
uses: Microsoft Edge
uses: Webメッセージ連携(PostWebMessageAsJson/WebMessageReceived)
incompatible with: ActiveX
requires: ユーザーデータフォルダー(UDF)
configured by: 遷移先ホワイトリスト検査(NavigationStarting)

ActiveX
type: Concept
definition: 実務ではCOMベースのコントロールやその周辺資産をまとめて指す言葉として使われる技術群。特に.ocx形式のUIコントロールやIE/コンテナへ埋め込む部品を含むことが多い。
alternative label: ActiveXコントロール
broader: COM(コンポーネントオブジェクトモデル)

Microsoft Edge
type: Concept
definition: Chromiumベースのマイクロソフト製ブラウザー。本体はActiveXをサポートしない。
alternative label: Edge

IEモード
type: Concept
definition: 設定されたサイトに対してMicrosoft Edgeが IE系のエンジンを使い、ActiveXを含む一部のIE機能を動かすための互換レイヤー。延命策として位置づけられる。
alternative label: Internet Explorer mode
broader: Microsoft Edge
uses: ActiveX

Windows Forms
type: Concept
definition: デスクトップGUIアプリケーションを構築するための.NET/.NET FrameworkのUIフレームワーク。
alternative label: WinForms

ユーザーデータフォルダー(UDF)
type: Concept
definition: WebView2がCookie・キャッシュ・権限などを保存する場所。既定ではexeの隣に作られるため、%LOCALAPPDATA%配下のアプリ専用フォルダーを明示指定するのが定石とされる。
alternative label: UDF
alternative label: User Data Folder

WebView2の初期化エラー
type: Concept
definition: ユーザーデータフォルダーの既定の保存先に書き込めないことなどが原因で、WebView2アプリの起動時に発生する初期化エラー。Program Files配下にインストールしたアプリで典型的に起きる。

Evergreenランタイム
type: Concept
definition: クライアントにインストールされた共有のWebView2ランタイムを全WebView2アプリが使い、自動更新される配布方式。セキュリティパッチが自動で当たりディスク消費も小さいため、公式が明確に推奨している。
alternative label: Evergreen

Fixed Versionランタイム
type: Concept
definition: 特定バージョンのWebView2ランタイムをアプリに同梱する配布方式。動作検証済みの構成を凍結できる一方、同梱物が250MBを超え、ブラウザーエンジンの脆弱性修正を自分のリリースで配る責任を負う。
alternative label: Fixed Version
not recommended for: Microsoft Edge WebView2

閉域ネットワーク
type: Concept
definition: インターネットに接続せずに運用する隔離されたネットワーク。
alternative label: オフライン環境
alternative label: 切断環境

Webメッセージ連携(PostWebMessageAsJson/WebMessageReceived)
type: Concept
definition: ネイティブ側のPostWebMessageAsJson/WebMessageReceivedと、Web側のwindow.chrome.webview.postMessage/messageイベントによる、ネイティブとWebページの間の疎結合なメッセージ交換の仕組み。
alternative label: PostWebMessageAsJson
alternative label: WebMessageReceived

ホストオブジェクト公開(AddHostObjectToScript)
type: Concept
definition: AddHostObjectToScriptを使い、.NET/COMオブジェクトをJavaScriptから直接呼び出せるようにするWebView2の連携手段。Webメッセージより強力だが、ページが侵害されたときの影響が大きい。
alternative label: AddHostObjectToScript
uses: COM(コンポーネントオブジェクトモデル)
not recommended for: 信頼できないWebコンテンツ

COM(コンポーネントオブジェクトモデル)
type: Concept
definition: 公開インターフェース、レジストリ登録、Apartment Modelなどを土台にした、Windowsのバイナリ互換コンポーネントモデル。
alternative label: Component Object Model

遷移先ホワイトリスト検査(NavigationStarting)
type: Concept
definition: NavigationStartingイベントで遷移先を社内ドメインのホワイトリストと照合し、想定外のURLは既定ブラウザーへ逃がすセキュリティ設計。
alternative label: NavigationStarting

ActiveX機能のネイティブ再実装
type: Concept
definition: IEモードのActiveXが担っていたシリアル通信・ファイルアクセス・専用機器制御などの処理を、WebView2のホストアプリ側(ネイティブ側)へ移し、Webメッセージ経由で呼び出せるようにする再設計。
succeeds: ActiveX
requires: Webメッセージ連携(PostWebMessageAsJson/WebMessageReceived)

.NET(Core以降)
type: Concept
definition: .NET Frameworkの後継となる、クロスプラットフォーム対応の.NETランタイム(.NET 5以降)。
alternative label: .NET Core
alternative label: モダンな.NET

.NET Framework
type: Concept
definition: Windowsのコンポーネントとして扱われ、インストールされているOSのライフサイクルに沿ってサポートされるランタイム。System.Messagingの対象範囲。

信頼できないWebコンテンツ
type: Concept
definition: 自社が管理しておらず、内容の安全性を保証できない任意のWebページ。侵害されている可能性を排除できないコンテンツ。

subject: Microsoft Edge WebView2
predicate: uses
object: Microsoft Edge
description: WebView2はChromiumベースのMicrosoft Edgeを、WinForms/WPF/WinUI/Win32 C++から使えるコントロールとして埋め込む。
evidence: overview-features-apis
verified at: 2026-08-01
certainty: established

subject: Microsoft Edge WebView2
predicate: incompatibleWith
object: ActiveX
description: WebView2はChromiumでありActiveXをホストする仕組みを持たないため、ActiveXは動作しない。
evidence: edge-ie-mode
verified at: 2026-08-01
certainty: established

subject: IEモード
predicate: uses
object: ActiveX
description: IEモードはEdgeの中で本物のIE11(Tridentエンジン)を動かし、ActiveXコントロールやブラウザーヘルパーオブジェクトをそのまま動作させる。
evidence: edge-ie-mode
verified at: 2026-08-01
certainty: established

subject: Windows Forms
predicate: uses
object: Microsoft Edge WebView2
description: 既存のWinForms業務アプリにWeb UIを段階的に組み込む場合、1画面だけをWebView2にするといった構成ができる。
evidence: webview2
verified at: 2026-08-01
certainty: context-dependent

subject: Microsoft Edge WebView2
predicate: requires
object: ユーザーデータフォルダー(UDF)
description: WebView2はCookie・キャッシュ・権限などをユーザーデータフォルダーに保存する。
evidence: user-data-folder
verified at: 2026-08-01
certainty: established

subject: ユーザーデータフォルダー(UDF)
predicate: mayCause
object: WebView2の初期化エラー
description: UDFの既定位置はexeの隣であり、Program Files配下にインストールしたアプリでは書き込みに失敗し初期化エラーになる。
evidence: user-data-folder
verified at: 2026-08-01
certainty: context-dependent

subject: Microsoft Edge WebView2
predicate: uses
object: Evergreenランタイム
description: ランタイムの提供方法としてEvergreenを選んだ場合、WebView2はクライアントにインストールされた共有ランタイムを使う。特定バージョンをアプリへ同梱するFixed Versionを選んだ場合は共有ランタイムを参照しない。
evidence: evergreen-vs-fixed-version
verified at: 2026-08-01
certainty: context-dependent

subject: Microsoft Edge WebView2
predicate: uses
object: Fixed Versionランタイム
description: オフライン環境や検証済み構成を固定したい場面では、特定バージョンのランタイムをアプリに同梱するFixed Versionを使うこともできる。
evidence: evergreen-vs-fixed-version
verified at: 2026-08-01
certainty: context-dependent

subject: Fixed Versionランタイム
predicate: recommendedFor
object: 閉域ネットワーク
description: Fixed Versionは動作検証済みの構成を凍結できるため、オフラインの製造装置や変更管理が厳格な環境では合理的な選択になる。
evidence: developer-guide
verified at: 2026-08-01
certainty: context-dependent

subject: Fixed Versionランタイム
predicate: notRecommendedFor
object: Microsoft Edge WebView2
description: 同梱物が250MBを超えるうえ脆弱性修正を自分のリリースで配る責任を負うため、限定的な場面を除きWebView2アプリの既定選択としては安易に選ぶべきではない。
evidence: evergreen-vs-fixed-version
verified at: 2026-08-01
certainty: established

subject: Microsoft Edge WebView2
predicate: uses
object: Webメッセージ連携(PostWebMessageAsJson/WebMessageReceived)
description: ネイティブとWebの連携は、PostWebMessageAsJson/WebMessageReceivedによるWebメッセージ交換を既定の手段にする。
evidence: winforms
verified at: 2026-08-01
certainty: established

subject: Microsoft Edge WebView2
predicate: uses
object: ホストオブジェクト公開(AddHostObjectToScript)
description: JavaScriptからネイティブ側を呼ぶ橋渡しが要る場合にAddHostObjectToScriptで.NET/COMオブジェクトを公開でき、公開は自社管理のコンテンツに限定すべきとされる。橋渡しが不要なアプリはホストオブジェクトを公開しない
evidence: overview-features-apis
verified at: 2026-08-01
certainty: context-dependent

subject: ホストオブジェクト公開(AddHostObjectToScript)
predicate: uses
object: COM(コンポーネントオブジェクトモデル)
description: AddHostObjectToScriptによるホストオブジェクト公開は、内部的にCOMの仕組みで動く。
evidence: overview-features-apis
verified at: 2026-08-01
certainty: established

subject: Microsoft Edge WebView2
predicate: configuredBy
object: 遷移先ホワイトリスト検査(NavigationStarting)
description: WebView2は表示するコンテンツを、NavigationStartingでの遷移先ホワイトリスト検査によって限定できる。
evidence: overview-features-apis
verified at: 2026-08-01
certainty: established

subject: ActiveX機能のネイティブ再実装
predicate: succeeds
object: ActiveX
description: WebView2導入では、ActiveXが担っていたシリアル通信・ファイルアクセス・専用機器制御などの機能をネイティブ側(ホストアプリ)へ移し、ActiveXの代替とする。
evidence: edge-ie-mode
verified at: 2026-08-01
certainty: established

subject: ActiveX機能のネイティブ再実装
predicate: requires
object: Webメッセージ連携(PostWebMessageAsJson/WebMessageReceived)
description: ネイティブ側へ移植したActiveX由来の機能は、Webメッセージ経由でWeb側から呼び出す設計にする。
evidence: overview-features-apis
verified at: 2026-08-01
certainty: established

subject: Microsoft Edge WebView2
predicate: uses
object: .NET(Core以降)
description: ホストを.NET(Core以降)で作る場合、WebView2は3.1以降から利用できる。Win32 C++やWinUIでホストすることもでき、いずれかを選ぶ
evidence: webview2
verified at: 2026-08-01
certainty: context-dependent

subject: Microsoft Edge WebView2
predicate: uses
object: .NET Framework
description: ホストを.NET Frameworkで作る場合、WebView2は4.6.2以降から利用できる。Win32 C++やWinUI、.NET(Core以降)でホストすることもでき、いずれかを選ぶ
evidence: webview2
verified at: 2026-08-01
certainty: context-dependent

subject: ホストオブジェクト公開(AddHostObjectToScript)
predicate: notRecommendedFor
object: 信頼できないWebコンテンツ
description: 信頼できないコンテンツを表示しうるWebViewには、AddHostObjectToScriptで公開するホストオブジェクトを登録しないのが原則。
evidence: overview-features-apis
verified at: 2026-08-01
certainty: established