アプリと WebView2 ランタイムを配布する

WebView2 アプリを配布する場合は、WebView2 ランタイムがクライアント コンピューター上に存在する必要があります。 この要件は、Evergreen と修正済みバージョンの両方の配布モードに適用されます。

概要情報については、「 WebView2 ランタイムの Evergreen と修正バージョン」を参照してください。

Windows Server Update Services (WSUS) を介した WebView2 ランタイムのサービス

WebView2 のエンタープライズ管理Windows Server Update Services (WSUS) を参照してください。

開発または運用中のランタイムまたはブラウザーのサポート

開発およびテスト中に、WebView2 アプリは、バッキング Web プラットフォームとしていずれかのオプションを使用できます。

  • WebView2 ランタイム。 ランタイムは通常、Microsoft Edge ブラウザーの Stable チャネルと同じ Web プラットフォーム機能と更新リリース ケイデンスを提供します。 Microsoft Edge のリリース スケジュールを参照してください。 実稼働環境で WebView2 ランタイムを使用するか、ユーザーが現在使用している Web プラットフォームに対して開発およびテストを行います。

  • プレビュー (Insider) Microsoft Edge ブラウザー チャネル。 これらの Microsoft Edge プレビュー チャネルは、Beta、Dev、および Canary です。 このアプローチを使用してアプリの上位互換性をテストすることで、アプリの更新が必要となる重大な変更が行われるかどうかを確認できます。 「 プレビュー チャネルに切り替えて、今後の API と機能をテストする」を参照してください。

WebView2 アプリの製品版リリースでは、WebView2 ランタイムのみをバッキング Web プラットフォームとして使用でき、Microsoft Edge は使用できません。

Microsoft Edge Stable チャネルは WebView2 ではサポートされていません

WebView2 アプリは、Microsoft Edge の Stable チャネルをバッキング Web プラットフォームとして使用することはできません。 この制限により、WebView2 アプリの製品版リリースがブラウザーに依存することはありません。 WebView2 アプリは、次の理由により、本番環境でブラウザーに依存することはできません。

  • Microsoft Edge は、すべてのユーザー デバイスに存在することが保証されているわけではありません。 企業や教育機関の多くのデバイスは、Windows Update から切断されているか、Microsoft によって直接管理されていません。 このようなデバイスには、Microsoft Edge がインストールされていない可能性があります。 Microsoft Edge ではなく WebView2 ランタイムを使用するように WebView2 アプリの製品版を要求することで、Microsoft Edge を WebView2 アプリを実行するための前提条件にすることを回避できます。

  • ブラウザーとアプリではユース ケースが異なります。 WebView2 アプリがクライアント上に Microsoft Edge の存在を必要とする場合、それは WebView2 アプリに意図しない副作用をもたらす可能性があります。 たとえば、IT 管理者は、ブラウザーが特定のバージョンから更新されないようにして、ブラウザーを内部 Web サイトとの互換性を保つことができます。 ブラウザー ではなく WebView2 ランタイムを使用するように WebView2 アプリの製品版を要求すると、ブラウザーの更新がクライアントの管理者によって阻止された場合でも、WebView2 アプリは Evergreen のままになります。

  • ブラウザとは対照的に、WebView2 ランタイムはアプリのシナリオ用に開発およびテストされており、場合によっては、WebView2 ランタイムにブラウザでまだ利用できないバグ修正が含まれている可能性があります。

Evergreen WebView2 ランタイムは、Windows 11 オペレーティング システムの一部として含まれます。 さまざまな WebView2 アプリが、Windows 11 より前のオペレーティング システムを搭載したデバイスに Evergreen ランタイムをインストールしています。 ただし、一部のデバイスにはランタイムがプリインストールされていない場合があるため、ランタイムがクライアントに存在するかどうかをチェックすることをお勧めします。

アプリが WebView2 を作成する前に、アプリは (レジストリ キーを確認するか、API を呼び出すことにより) WebView2 ランタイムが存在するかどうかをチェックし、ランタイムが存在しない場合はインストールする必要があります。 アプリは、アプリのインストールまたは更新時 (推奨)、またはアプリの実行時にこのチェックを実行できます。 ランタイムが存在するかどうかをチェックするには、以下の「Evergreen WebView2 ランタイムの展開」を参照してください。

Evergreen ランタイム配布モード

Evergreen 配布モードでは、WebView2 アプリが最新の WebView2 機能とセキュリティ更新プログラムを利用できます。 概要情報については、「Evergreen ランタイム配布モード と修正 バージョンの WebView2 ランタイム」を参照してください。

Evergreen 配布モードには、次の特性があります。

  • WebView2 ランタイムは、ユーザーからのアクションを必要とせずに自動的に更新されます。 Microsoft Edge Stable チャネルのリリース ノートMicrosoft Edge Security Updates のリリース ノートに記載されているのと同じ Microsoft Edge 更新プログラムを受け取ります。

  • Evergreen 配布モードを使用するすべての WebView2 アプリは、ディスク領域を節約する Evergreen WebView2 ランタイムの共有コピーを使用します。

  • 適格なシステムでは、Microsoft Edge と Evergreen WebView2 ランタイムのバイナリは、同じバージョン上にある場合、互いにハードリンクされます。 このリンクにより、ディスクのフットプリント、メモリ、およびパフォーマンスに利点があります。

WebView2 ランタイムの Evergreen 配布モードを使用すると、WebView2 アプリはクライアントが最新のランタイムを持つと見なします。 クライアント上のすべてのアプリに対して、アプリで WebView2 ランタイムの特定のバージョンを要求することはできません。 新しい WebView2 SDK パッケージがリリースされる前に、互換性のあるバージョンの WebView2 ランタイムが既にクライアントに配布されています。 したがって、WebView2 アプリが最新バージョンの WebView2 SDK にある API を使用しても問題ありません。

Windows 11 デバイスと Windows 10 デバイス (詳細)

概要情報については、「Evergreen の Windows 11 デバイスと Windows 10 デバイスWebView2 ランタイムの固定バージョン」を参照してください。

管理された Windows 10 デバイスへの Microsoft Edge WebView2 ランタイムの配信で説明されているように、大部分の Windows 10 デバイスには WebView2 ランタイムが既にインストールされています。 少数の Windows 10 デバイスには、WebView2 ランタイムがインストールされていません。 このエッジ ケースは、次のいずれかの方法で処理することをお勧めします。

  • アプリに Evergreen ランタイムをプログラムでデプロイします。 以下の「 エバーグリーン WebView2 ランタイムの展開 」を参照してください。

  • エンド ユーザーを Microsoft サイトにリダイレクトします。 Microsoft Edge WebView2 をダウンロードし、エンド ユーザーにサイトから Evergreen WebView2 ランタイム インストーラーをダウンロードしてもらい、ランタイムを自分でインストールします。

関連項目:

エバーグリーン WebView2 ランタイムの展開

デバイス上のすべてのエバーグリーン アプリに必要なエバーグリーン WebView2 ランタイムのインストールは 1 つだけです。 Evergreen ランタイムの展開に役立ついくつかのツールが WebView2 ランタイムのダウンロード で利用できます。

  • オンライン クライアントの場合: WebView2 Runtime Bootstrapper は、小さな (約 2 MB) インストーラーです。 WebView2 ランタイム ブートストラップは、ユーザーのデバイス アーキテクチャに一致する Microsoft サーバーから Evergreen ランタイムをダウンロードしてインストールします。

    • WebView2 アプリのセットアップ部分で、ブートストラップにリンクします。 リンクを使用して、プログラムでブートストラップをダウンロードします。上記のダウンロード ページで [ リンクを取得] ボタンを選択します。

    • または、ブートストラップをダウンロードして、WebView2 アプリと一緒にパッケージ化します。

  • オフライン クライアントの場合: WebView2 ランタイム スタンドアロン インストーラー は、オフライン環境に Evergreen WebView2 ランタイムをインストールする完全インストーラーです。

  • アプリ インストーラーを使用して MSIX アプリケーションを展開する場合は、WebView2 ランタイムを依存関係として指定し、アプリケーションと共にインストールできます。 これを行う方法の詳細については、アプリ パッケージ マニフェスト ドキュメントの「win32dependencies:ExternalDependency (Windows 10、Windows 11) を参照してください。「アプリ インストーラーを使用して Windows 10 アプリをインストールする」も参照してください。

ランタイムをコンピューター単位またはユーザー単位でインストールする

最新のブートストラップとスタンドアロン インストーラーは、WebView2 ランタイムの コンピューターごとの インストールと ユーザーごとの インストールの両方をサポートします。

管理者特権のプロセスまたはコマンド プロンプトからインストーラーを実行すると、ランタイムは マシンごとにインストールされます。 管理者特権のプロセスまたはコマンド プロンプトからインストーラーを実行しない場合、ランタイムは ユーザー単位としてインストールされます。 ただし、コンピューターごとの Microsoft Edge アップデーターが配置されている場合、ユーザーごとのインストールは、コンピューターごとのインストールに自動的に置き換えられます。 マシンごとの Microsoft Edge アップデーターは、Microsoft Edge の一部として含まれています。ただし、Microsoft Edge の Canary プレビュー チャネルは例外です。

次のオンライン展開ワークフローまたはオフライン展開ワークフローを使用して、アプリを起動する前にランタイムが既にインストールされていることを確認してください。 シナリオに応じてワークフローを調整できます。 サンプル コードは、 サンプル リポジトリで入手できます。

WebView2 ランタイムが既にインストールされているかどうかを検出する

WebView2 ランタイムがインストールされていることを確認するには、次のいずれかの方法を使用します。

  • 方法 1: WebView2 ランタイムの pv (REG_SZ) レジストリキーを、次のレジストリの両方の場所で検査します。 HKEY_LOCAL_MACHINE regkey は、コンピューターごとのインストールに使用されます。 HKEY_CURRENT_USER regkey は、ユーザーごとのインストールに使用されます。

    WebView2 アプリケーションの場合、少なくとも 1 つの regkey が存在し、バージョン 0.0.0.0 より大きい regkey を定義する必要があります。 どちらの regkey も存在しない場合、またはこれらの regkey の 1 つだけが存在するが、その値が null、空の文字列、または 0.0.0.0 である場合、これは WebView2 ランタイムがクライアントにインストールされていないことを意味します。 これらの regkey を調べて、WebView2 ランタイムがインストールされているかどうかを検出し、WebView2 ランタイムのバージョンを取得します。 次の 2 つの場所で pv (REG_SZ) を検索します。

    64 ビット Windows で検査する 2 つのレジストリの場所:

    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
    
    HKEY_CURRENT_USER\Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
    

    32 ビット Windows で検査する 2 つのレジストリの場所:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
    
    HKEY_CURRENT_USER\Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}
    
  • 方法 2: GetAvailableCoreWebView2BrowserVersionString を実行し、 versionInfonullptrかどうかを評価します。 nullptr WebView2 ランタイムがインストールされていないことを示します。 この API は、WebView2 ランタイムまたは WebView2 ランタイムのインストール済みプレビュー チャネル (Beta、Dev、または Canary) Microsoft Edge バージョン情報を返します。

オンラインのみの展開

ユーザーがインターネットにアクセスできると想定されるオンラインのみの展開シナリオの場合は、次のワークフローを使用します。

  1. アプリのセットアップ中にテストを実行して、WebView2 ランタイムが既にインストールされていることを確認します。 上記の 「WebView2 ランタイムが既にインストールされているかどうかを検出する」を参照してください。

  2. ランタイムがインストールされていない場合は、アプリのセットアップ プロセスで、(ダウンロード ページの [ リンクの取得 ] ボタンから) リンクを使用して、プログラムで WebView2 ランタイム ブートストラップをダウンロードします。

  3. 次のコマンドを発行して、WebView2 ランタイム ブートストラップを呼び出します。

    管理者特権のプロセスまたはコマンド プロンプトから次のコマンドを実行すると、 コンピューターごとの インストールがトリガーされます。 管理者特権のプロセスまたはコマンド プロンプトからコマンドを実行しないと、 ユーザーごとの インストールが実行されます。 ただし、コンピューターごとの Microsoft Edge アップデーターが配置されている場合、ユーザーごとのインストールは、コンピューターごとのインストールに自動的に置き換えられます。 マシンごとの Microsoft Edge アップデーターは、Microsoft Edge の一部として提供されます。ただし、Microsoft Edge の Canary プレビュー チャネルは例外です。 詳細については、「 ランタイムをマシン単位またはユーザー単位でインストールする」を参照してください。

    MicrosoftEdgeWebview2Setup.exe /silent /install
    

上記のワークフローには、いくつかの利点があります。

  • ランタイムは必要な場合にのみインストールされます。

  • ランタイム インストーラーを WebView2 アプリでパッケージ化する必要はありません。

  • WebView2 ランタイム ブートストラップは、デバイスのアーキテクチャ (プラットフォーム) を自動的に検出し、一致する WebView2 ランタイムをインストールします。

  • ランタイムはサイレント インストールされます。

または、上記のようにリンクを取得してブートストラップ をオンデマンドでプログラムでダウンロードする代わりに、アプリで WebView2 ランタイム用の Evergreen ブートストラップをパッケージ化することもできます。

オフライン展開

アプリの展開を完全にオフラインで作業する必要があるオフライン展開シナリオの場合は、次のワークフローを使用します。

  1. WebView2 ランタイムを開発マシンにダウンロードするときに、Evergreen スタンドアロン インストーラーをダウンロードします。 Evergreen スタンドアロン インストーラーは、クライアントに Evergreen WebView2 ランタイムをインストールします。

  2. アプリ インストーラーまたはアップデータに Evergreen スタンドアロン インストーラーを含めます。

  3. アプリのセットアップ中にテストを実行して、WebView2 ランタイムが既にインストールされていることを確認します。 上記の 「WebView2 ランタイムが既にインストールされているかどうかを検出する」を参照してください。

  4. WebView2 ランタイムがインストールされていない場合は、Evergreen スタンドアロン インストーラーを実行します。 サイレント インストールを実行する場合は、次のコマンドを実行できます。

    管理者特権のプロセスまたはコマンド プロンプトから次のコマンドを実行すると、 コンピューターごとの インストールがトリガーされます。 管理者特権のプロセスまたはコマンド プロンプトからコマンドを実行しないと、 ユーザーごとの インストールが実行されます。 ただし、コンピューターごとの Microsoft Edge アップデーターが配置されている場合、ユーザーごとのインストールは、コンピューターごとのインストールに自動的に置き換えられます。 マシンごとの Microsoft Edge アップデーターは、Microsoft Edge の一部として提供されます。ただし、Microsoft Edge の Canary プレビュー チャネルは例外です。 詳細については、「 ランタイムをマシン単位またはユーザー単位でインストールする」を参照してください。

    MicrosoftEdgeWebView2RuntimeInstaller{X64/X86/ARM64}.exe /silent /install
    

Evergreen WebView2 ランタイム更新を処理する

新しいバージョンの Evergreen WebView2 ランタイムがクライアントに自動的にダウンロードされます。 WebView2 アプリが再起動されると、クライアントは新しいバージョンの WebView2 ランタイムを使用します。 ただし、アプリが継続的に実行される場合、アプリは以前のバージョンの WebView2 ランタイムを引き続き使用します。 以前のバージョンの WebView2 ランタイムには、新しいバージョンで修正されているセキュリティの脆弱性が存在する可能性があるため、これはセキュリティに影響します。 アプリの脅威モデルに基づいて、アプリにとって WebView2 ランタイムの最新バージョンをできるだけ早く採用することが重要かどうかを検討する必要があります。 たとえば、WebView2 アプリがサードパーティのコンテンツにアクセスする場合、そのコンテンツは信頼されていないと見なす必要があるため、アプリは最新バージョンの WebView2 ランタイムを使用する必要があります。

新しいバージョンの WebView2 ランタイムを使用するには、以前の WebView2 環境オブジェクトへのすべての参照を解放するか、アプリを再起動する必要があります。 次回アプリが新しい WebView2 環境を作成するときに、アプリは新しいバージョンの WebView2 ランタイムを使用します。 これを実現するには、 NewBrowserVersionAvailable イベントのイベント ハンドラーを用意し、アプリがアプリを再起動するようにユーザーに自動的に通知するようにすることができます。 アプリがアプリの再起動を処理する場合は、WebView2 アプリが終了する前にユーザー状態を保存することを検討してください。

アプリの上位互換性をテストする

Evergreen 配布モードでは、WebView2 ランタイムはクライアント上で自動的に最新の状態に保たれ、最新の機能とセキュリティ修正を提供します。 Evergreen 配布を使用する場合は、WebView2 アプリが Web との互換性を確保するために、テスト インフラストラクチャをセットアップする必要があります。

アプリの上位互換性をテストする方法に関するベスト プラクティスについては、「プレビュー チャネルを展開することによる Microsoft Edge とセルフホストのプレビュー チャネルを使用したプレリリース テスト」を参照してください。

最近の API を使用する場合の機能検出

WebView2 アプリで Evergreen モードを使用する場合は、新しい API を含む最新の WebView2 ランタイムがクライアント コンピューターにインストールされていない可能性があるため、QueryInterfacetry-catch などのメソッドを使用してクライアントのコンピューターに新しい API が存在することをチェックすることが重要です。 IT 管理が更新を無効にした場合、またはクライアントがオフラインの場合、WebView2 ランタイムのUpdatesは行われない場合があります。

詳細については、「インストールされているランタイムがプレリリースおよび WebView2 のリリース SDK に最近追加された API をサポートしているかどうかをテストするための機能検出」を参照してください。

Microsoft Edge と WebView2 ランタイムには個別の更新ポリシーがあります。 Microsoft Edge の更新プログラムを無効にしても、最新の WebView2 API の可用性には影響しません。これは、(WebView2 ランタイムの更新が管理によって無効にされていない限り) WebView2 ランタイムが自動的に更新できるためです。

修正済みバージョンのランタイム配布モード

厳密な互換性要件がある制約付き環境の場合は、修正済みバージョン配布モードの使用を検討してください。 (修正済みバージョン配布モードは、以前は bring-your-own と呼ばれていました)。概要情報については、「Evergreen での 固定バージョンのランタイム配布モードWebView2 ランタイムの修正済みバージョンのランタイム配布モード」を参照してください。

修正済みバージョン配布モードでは、アプリの WebView2 ランタイムに対する更新のタイミングを制御します。 WebView2 ランタイムの特定のバージョンをダウンロードし、WebView2 アプリでパッケージ化します。 クライアント上の WebView2 ランタイムは自動的には更新されません。 代わりに、パッケージ化され、更新されたアプリと共に配布される WebView2 ランタイムを定期的に更新します。 修正済みバージョンのアプローチでは、WebView2 ランタイムのレジストリ キーは使用されません。

修正済みバージョンのバイナリは 250 MB を超え、アプリ パッケージをその量大きくします。

修正済みバージョン配布モードを使用するには:

  1. [ Download the WebView2 Runtime] から WebView2 ランタイムの固定バージョンをパッケージとしてダウンロードします。

    最新および 2 番目に更新されたメジャー リリースの最もパッチが適用されたバージョンは、このサイトからダウンロードできます。 必要なバージョンのアーカイブ コピーを保管します。

  2. コマンド ライン コマンド expand {path to the package} -F:* {path to the destination folder} を使用するか、WinRAR などの解凍ツールを使用して、WebView2 ランタイム パッケージを解凍します。 エクスプローラーを使用した解凍は避けてください。その方法では正しいフォルダー構造が生成されない可能性があるためです。

  3. アプリのインストール中にターゲット コンピューターに展開する、圧縮解除された修正済みバージョン のバイナリをアプリ パッケージにすべて含めます。

  4. WebView2 環境を作成するときに、固定バージョンのバイナリへのパスを指定します。

    • Win32 C/C++ の場合、 CreateCoreWebView2EnvironmentWithOptions 関数を使用して環境を作成できます。 browserExecutableFolder パラメーターを使用して、WebView2 ランタイム (msedgewebview2.exe) を含むフォルダーへのパスを示します。

    • .NET の場合、WebView2 Source プロパティを有効にする前に環境を指定する必要があります。 .NET では、次のいずれかの方法で環境を指定できます。

      • WebView2要素に CreationProperties (WPF/WinForms) プロパティを設定します。 CoreWebView2CreationProperties (WPF/WinForms) クラスの BrowserExecutableFolder メンバーを使用して、修正済みバージョンのバイナリへのパスを示します。

      • または、 EnsureCoreWebView2Async (WPF/WinForms) を使用して環境を指定します。 CoreWebView2Environment.CreateAsyncbrowserExecutableFolder パラメーターを使用して、修正済みバージョンのバイナリへのパスを示します。

    • WinUI の場合、インストール場所を指定し、ランタイム パスの環境変数を設定して、アプリがフォルダーにアクセスできることを確認します。 これを行う 1 つの方法は、次の C# コードをアプリに追加することです。

      StorageFolder localFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
      String fixedPath = Path.Combine(localFolder.Path, "FixedRuntime\\(version number)");
      Debug.WriteLine($"Launch path [{localFolder.Path}]");
      Debug.WriteLine($"FixedRuntime path [{fixedPath}]");
      Environment.SetEnvironmentVariable("WEBVIEW2_BROWSER_EXECUTABLE_FOLDER", fixedPath);
      
  5. 修正済みバージョンのバイナリをアプリと一緒にパッケージ化して出荷します。 必要に応じてバイナリを更新します。

    • WinUI の場合、これには、コード エディターでプロジェクト ファイル (.csproj) を開き、プロジェクト タグ内に次のコードを追加することが含まれる場合があります。

      <ItemGroup>
          <Content Include="FixedRuntime\(version number)\\**\*.*">
          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
          </Content>
      </ItemGroup>
      

      bin\**designated architecture**\Release フォルダーに、ランタイム ファイルが含まれる FixedRuntime\(バージョン番号) フォルダーが一致することを確認します。

  6. 修正済みバージョン 120 以降の Windows 10 デバイスで、修正済みバージョンを使用してパッケージ化されていない Win32 アプリケーションの開発者は、修正済みバージョンが引き続き機能するために、次のコマンドを実行する必要があります。 これは、v120 では、アプリ コンテナー内でレンダラー プロセスを実行するためのセキュリティが改善されたためです。 この変更は、Windows 11 デバイス、古いランタイム、またはパッケージ アプリには影響しません。

    1. ユーザーのデバイスに固定バージョンパッケージを展開するパス (次の場所など) を見つけます。

      D:\myapp\Microsoft.WebView2.FixedVersionRuntime.87.0.664.8.x64
      
    2. ユーザーのデバイスで次のコマンドを実行します。

      icacls {Fixed Version path} /grant *S-1-15-2-2:(OI)(CI)(RX)
      icacls {Fixed Version path} /grant *S-1-15-2-1:(OI)(CI)(RX)
      
    3. 以下に示すように、[修正済みバージョン] フォルダーの [セキュリティ] タブで、ALL APPLICATION PACKAGESALL RESTRICTED APPLICATION PACKAGESに対するアクセス許可が付与されていることを確認します。

      PlayReady のアクセス許可

固定バージョンの既知の問題

  • 現在、修正済みバージョンはネットワークの場所または UNC パスから実行できません。

Files to ship with the app

WebView2Loader コードがアプリに同梱されている必要があります。 これは、 WebView2Loader.lib をアプリのバイナリに静的にリンクするか、アプリのアーキテクチャに一致する WebView2Loader.dll を含めることによって実行できます。 通常、これは WebView2 SDK で .targets ファイルを使用する場合に Visual Studio によって自動的に処理されますが、アプリで公開するファイルを手動で指定する必要がある場合もあります。 WebView2 ローダー ライブラリを静的にリンクするには、「 WebView2 アプリを 1 つの実行可能ファイルとして配布する」を参照してください。

WebView2Loader.dll はネイティブでアーキテクチャ固有のバイナリであるため、アプリが実行されることが想定されるこのバイナリのすべてのフレーバーを含める必要があります。 例:

  • x86 の場合、x86 バージョンの WebView2Loader.dll を含めます。

  • AnyCPU を使用するマネージド アプリの場合、x86、x64、および arm64 バージョンの WebView2Loader.dll を含めます。 正しいバージョンの WebView2Loader.dll が、適切なアーキテクチャ固有のフォルダから読み込まれます。

ネイティブ アプリ フォルダー構造の例:

\<myApp>
    \WebView2Loader.dll

.NET マネージド アプリの場合は、コア WebView2 機能 (Microsoft.Web.WebView2.Core.dll) と WPF/WinForms 固有の機能 (Microsoft.Web.WebView2.Winforms.dll または Microsoft.Web.WebView2.WPF.dll) 用の WebView2 .NET アセンブリも含める必要があります。

マネージド アプリ フォルダー構造の例:

\<myApp>
    \Microsoft.Web.WebView2.Core.dll
    \Microsoft.Web.WebView2.Winforms.dll
    \Microsoft.Web.WebView2.WPF.dll
    \runtimes
        \win-arm64\native\WebView2Loader.dll (arm64)
        \win-x64\native\WebView2Loader.dll (x64)
        \win-x86\native\WebView2Loader.dll (x86)

関連項目

エンタープライズ ドキュメント:

developer.microsoft.com:

ブログ:

Windows:

GitHub:

Windows ランタイム API:

API リファレンス: