今後の API と機能をテストする

今後の API と機能をテストするには、次のようにプレビュー チャネルに切り替えます。

WebView2 エバーグリーン ランタイムの更新には、多くの場合、新しい API と機能が含まれています。 これらの更新プログラムの一部では、WebView2 アプリが壊れる可能性があります。 試験段階の API を事前にテストし、アプリの前方互換性を確認するには、Microsoft Edge のプレビュー チャネルと WebView2 SDK のプレリリース バージョンを使用して互換性テストを実行する必要があります。

プレリリース SDK パッケージをテストするときは、WebView2 ランタイムを既定で使用するのではなく、Microsoft Edge (ベータ、開発、またはカナリア) のプレビュー チャネルを使用するようにアプリケーションに指示する必要があります。 これを行うためのいくつかの方法を以下に説明します。

WebView2 ランタイムには、最新の試験的な WebView2 API がありません。 プレリリース SDK で実験用 API を使用するときに WebView2 コードを実行するには、クライアント (開発マシン上) に Microsoft Edge プレビュー チャネルが必要です。 Canary プレビュー チャネルは、他のチャネルよりも先にあり、最新の試験的 API を備えているので、推奨されます。

プレリリース SDK は、次のようにプレビュー チャネルと連携します。

  • WebView2 SDK のプレリリース バージョンには、試験的 API のメソッド シグネチャが含まれています。これにより、アプリで試験的な WebView2 API を使用してコードを記述できます。

  • Microsoft Edge のプレビュー チャネルには、実験用 API の実装など、アプリの実行とレンダリングに必要な Microsoft Edge バイナリが含まれています。

Microsoft Edge の WebView2 ランタイムまたはプレビュー チャネルと組み合わせて SDK バージョンがどのように動作するかの詳細については、「 さまざまな WebView2 SDK バージョンについて」を参照してください。

プレリリース SDK とプレビュー チャネルのダウンロード

試験的 API を使用するには、 Microsoft.Web.WebView2 パッケージから WebView2 SDK のプレリリース バージョンをダウンロードします。

Microsoft Edge プレビュー チャネルをダウンロードするには、「 Microsoft Edge Insider Channels」を参照してください。

アプリを特定のブラウザー チャネルを使用する方法

WebView2 が初期化されると、使用するコンピューター上の有効なランタイムの検索が試行されます。 これは、WebView2 ランタイム、Microsoft Edge のプレビュー チャネル、または固定バージョン バイナリを含む指定された場所です。 サポートされているランタイムの詳細については、 アプリの配布と WebView2 ランタイムに関するページを参照してください

WebView2 アプリで Microsoft Edge の指定されたプレビュー チャネルを使用するには、いくつかの方法があります。

  • 関数を呼び出すこと。
  • レジストリのオーバーライドを使用します。
  • 環境変数を使用する。
  • グループ ポリシーを使用する。

これらのアプローチを以下に説明します。

ブラウザー実行可能フォルダー

1 つの方法は、ブラウザーの実行可能フォルダーを使用することです。 この方法では、ランタイム バイナリを含むフォルダーを指定します。 このフォルダーには、次のいずれかの場所を指定できます。

  • WebView2 ランタイムのインストール済み場所。
  • Microsoft Edge のプレビュー チャネル。
  • コンピューターに自分でデプロイした固定バージョンのバイナリを含むフォルダー。

ブラウザーの実行可能フォルダーを Microsoft Edge の特定のプレビュー チャネルに設定する場合は、そのプレビュー チャネルが新しいバージョンに更新されたときに場所を更新する必要があります。 これは、場所にパスの一部としてバージョン番号が含まれているためです。 そのため、ローカル テストにのみこの方法を使用することをお勧めします。

既定のチャネル検索順序

このセクションは、グループ ポリシー、レジストリのオーバーライド、または環境変数の使用に適用されます。

特定のブラウザー実行可能フォルダーが指定されていない場合、WebView2 は既知の既定の場所のいずれかからランタイムの読み込みを試みます。

既定のチャネル検索順序は次のとおりです。

  1. WebView2 ランタイム。
  2. Microsoft Edge のベータ チャネル。
  3. Microsoft Edge の開発チャネル。
  4. Microsoft Edge のカナリア チャネル。

グループ ポリシー、レジストリオーバーライド、または環境変数を使用してリリース チャネルの基本設定を に 1 設定すると、既定の検索順序の逆が使用されます。

関数の呼び出し

関数を呼び出してアプリケーションで特定のランタイムを使用する場合は、次の手順を実行します。

Win32/C++

この手順を示すために 、WebView2APISample を使用します。

  1. 開発用コンピューターで、Microsoft Edge プレビュー チャネルを含むパスを見つけます。 例:

    C:\\Users\\myname\\AppData\\Local\\Microsoft\\Edge SxS\\Application\\93.0.929.0

  2. WebView2Samples リポジトリを複製します。

  3. WebView2APISample プロジェクトを開き、[ソース ファイル] でファイルをAppWindow.cpp開きます。

  4. CreateCoreWebView2EnvironmentWithOptions が呼び出される場所を検索します。 例:

    HRESULT hr = CreateCoreWebView2EnvironmentWithOptions(
        subFolder, m_userDataFolder.c_str(), options.Get(),
        Callback<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>(
            this, &AppWindow::OnCreateEnvironmentCompleted)
            .Get());
    
  5. 変数を subFolder 、使用する Microsoft Edge プレビュー チャネルのフォルダー パスに置き換えます。 例:

    HRESULT hr = CreateCoreWebView2EnvironmentWithOptions(
        L"C:\\Users\\myname\\AppData\\Local\\Microsoft\\Edge SxS\\Application\\93.0.929.0", m_userDataFolder.c_str(), options.Get(),
        Callback<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>(
            this, &AppWindow::OnCreateEnvironmentCompleted)
            .Get());
    

Winforms

WinForms では、上記の Win32/C++ アプローチと同様のアプローチが使用されます。

  1. Microsoft Edge Canary または Dev チャネルを含むパスをポイントするように設定 CreationProperties.BrowserExecutableFolder します。 これを行うには、 WebView2Samples ソリューションの WebView2WpfBrowser プロジェクトで、 ファイル MainWindow.xaml.csを開きます。

  2. を検索します CreationProperties.BrowserExecutableFolder。 例:

    WebView2 GetReplacementControl(bool useNewEnvironment)
    {
       WebView2 replacementControl = new WebView2();
       ((System.ComponentModel.ISupportInitialize)(replacementControl)).BeginInit();
       // Setup properties and bindings.
       if (useNewEnvironment)
       {
          // Create a new CoreWebView2CreationProperties instance so the environment
          // is made anew.
          replacementControl.CreationProperties = new CoreWebView2CreationProperties();
          replacementControl.CreationProperties.BrowserExecutableFolder = webView.CreationProperties.BrowserExecutableFolder;
          replacementControl.CreationProperties.Language = webView.CreationProperties.Language;
          replacementControl.CreationProperties.UserDataFolder = webView.CreationProperties.UserDataFolder;
          shouldAttachEnvironmentEventHandlers = true;
       }
    

Wpf

WPF では、上記の Win32/C++ アプローチと同様のアプローチが使用されます。

CoreWebView2CreationProperties.BrowserExecutableFolder プロパティを参照してください。

レジストリオーバーライドの使用

レジストリのオーバーライドを使用してプレビュー チャネルを指定する場合、次の 2 つのオプションがあります。

  • ブラウザーの実行可能フォルダーを変更します。
  • リリース チャネルの基本設定を変更します。

これら 2 つの方法を以下に説明します。

レジストリのオーバーライド: ブラウザーの実行可能フォルダー

ブラウザーの実行可能フォルダーを設定するレジストリオーバーライドを使用して、アプリケーションで Microsoft Edge プレビュー チャネルを使用するには:

  1. PowerShell ターミナルまたは PowerShell 対応コマンド プロンプトを開きます。

  2. 次のコマンドを変更して実行します。

    REG ADD HKLM\Software\Policies\Microsoft\Edge\WebView2\BrowserExecutableFolder /v WebView2APISample.exe /t REG_SZ /d "C:\Users\myname\AppData\Local\Microsoft\Edge SxS\Application\88.0.680.0"

    を、独自のアプリ実行可能ファイルのファイル名またはアプリケーション ユーザー モデル ID に置き換えます WebView2APISample.exe 。 値名としてワイルドカード (*) を使用すると、コンピューター 上のすべての WebView2 アプリにオーバーライドが適用され、予期しない動作が発生する可能性があります。

    を目的の Microsoft Edge プレビュー チャネルへのパスに置き換えます C:\Users\myname\AppData\Local\Microsoft\Edge SxS\Application\88.0.680.0

既定の WebView2 エバーグリーン ランタイムを使用した再開

上記の設定を元に戻すには、次のコマンドを実行します。

REG DELETE HKLM\Software\Policies\Microsoft\Edge\WebView2\BrowserExecutableFolder /f

レジストリのオーバーライド: リリース チャネルの基本設定

チャネルの検索順序を変更してリリース チャネルの優先順位を変更するレジストリオーバーライドを使用して、アプリケーションで Microsoft Edge プレビュー チャネルを使用するには:

  1. PowerShell ターミナルまたは PowerShell 対応コマンド プロンプトを開きます。

  2. 次のコマンドを変更して実行します。

    REG ADD HKLM\Software\Policies\Microsoft\Edge\WebView2\ReleaseChannelPreference /v WebView2APISample.exe /t REG_SZ /d "1"

    を、独自のアプリ実行可能ファイルのファイル名またはアプリケーション ユーザー モデル ID に置き換えます WebView2APISample.exe 。 値名としてワイルドカード (*) を使用すると、コンピューター 上のすべての WebView2 アプリにオーバーライドが適用され、予期しない動作が発生する可能性があります。

既定の WebView2 エバーグリーン ランタイムを使用した再開

レジストリのオーバーライドを ReleaseChannelPreference 削除するには、次のコマンドを実行します。

REG DELETE HKLM\Software\Policies\Microsoft\Edge\WebView2\ReleaseChannelPreference /f

環境変数の使用

環境変数を使用してアプリケーションで Microsoft Edge プレビュー チャネルを使用するには:

  1. Windows 検索バーに「environment」と入力し、[ システム環境変数の編集] を選択します。

    Windows 検索バーを使用して環境変数を編集する場所を見つける

  2. [ システムのプロパティ ] ダイアログで、[ 詳細設定 ] タブを選択し、[ 環境変数 ] ボタンを選択します。

    [システムのプロパティ] ダイアログの [環境変数] ボタン

  3. [環境変数] ダイアログの [ユーザー変数] セクションで、[新規] を選択します。

  4. [ 新しいユーザー変数 ] ダイアログで、[ 変数名 ] を に WEBVIEW2_BROWSER_EXECUTABLE_FOLDER設定し、[ 変数] の値 を任意のブラウザー チャネルまたは固定バージョン バイナリへのパスに設定します。

    または、[ 変数名 ] を に WEBVIEW2_RELEASE_CHANNEL_PREFERENCE設定し、[ 変数] の値 を に 1 設定して検索順序を逆にし、プレビュー チャネル (ベータ、開発、またはカナリア) を最初に使用します。 以外の値は、 1 既定の検索順序を示します。

  5. [ OK] を クリックしてダイアログを閉じます。

    ユーザー変数として新しい環境変数を追加する

影響を受けるアプリ

上記の方法では、テストしているアプリだけでなく、すべての WebView2 アプリの環境変数が設定されます。 テストする WebView2 アプリに対してのみこの環境変数を設定するには、コマンド プロンプトからアプリを実行している場合は、環境変数 WEBVIEW2_RELEASE_CHANNEL_PREFERENCE=1を設定します。 これは、現在 cmd.exe のコマンド プロンプト プロセスと、その cmd.exe インスタンスからの新しい子プロセスの環境変数を設定します。 その後、環境変数は、テストしている WebView2 アプリにのみ適用されます。

環境変数を使用する WEBVIEW2_RELEASE_CHANNEL_PREFERENCE 場合は、次の値に設定できます。

説明
1 検索順序を逆にして、WebView2 ランタイムの前に プレビュー チャネル を最初に使用します。
0 または以外の別の値 1 既定の チャネル検索順序を使用します。これは、プレビュー チャネルの前に WebView2 ランタイムを使用することです。

実行中のプロセスに新しい環境変数を適用する

環境変数を設定すると、作成された新しいプロセスに環境変数が適用されます。 環境変数は、既に実行されているプロセスには適用されません。 すべてのプロセスで新しい環境変数が確実に使用されるようにするには、Visual Studio を再起動するか、Windows からログアウトしてから再度ログインする必要があります。

グループ ポリシーの使用

アプリケーションでグループ ポリシーを使用して Microsoft Edge プレビュー チャネルを使用する場合は、次のように ADMX ファイルと ADML ファイルをフォルダーに PolicyDefinitions コピーします。

  1. [ ビジネス向け Microsoft Edge のダウンロードと展開] からポリシー ファイルをダウンロードします。

  2. ADMX ファイルを、 などの C:\Windows\PolicyDefinitionsポリシー定義テンプレート フォルダーにコピーします。

  3. ADML ファイルをフォルダー内 Policy Definitions の一致するロケール フォルダー (フォルダーなど) に C:\Windows\PolicyDefinitions\en-us コピーします。

  4. ローカル グループ ポリシー エディターを開きます。 これを行うには、Windows 検索バーに「グループ ポリシー」と入力し、[ グループ ポリシーの編集] を選択します。

  5. [ローカル コンピューター ポリシー] を展開し、[コンピューターの構成] または [ユーザーの構成] を展開します。 次に、[ 管理用テンプレート>] Microsoft Edge WebView2 を展開します。

    [ローカル グループ ポリシー エディター] ダイアログ

  6. [ ブラウザー実行可能フォルダー] を選択します。 次のスクリーンショットは、 ブラウザー実行可能フォルダーの設定に適用されます。 または、同様のダイアログを使用する [リリース チャネルの基本設定] を選択します。

    ブラウザー実行可能ファイル フォルダーの設定

  7. [ 表示 ] ボタンを選択します。

  8. [ コンテンツの表示 ] ダイアログに入力します。 [ 値名 ] 列に、アプリの .exe ファイル名またはアプリケーション ユーザー モデル ID を入力します。 値名としてワイルドカード (*) を使用すると、コンピューター 上のすべての WebView2 アプリにオーバーライドが適用され、予期しない動作が発生する可能性があります。

    [コンテンツの表示] ダイアログ

  9. [ OK] を選択 してダイアログを閉じます。

詳細については、「 Microsoft Edge ポリシー設定を構成する」を参照してください。