共用方式為


散發您的應用程式和 WebView2 執行時間

發行使用 Microsoft Edge WebView2 的應用程式時,您必須散發自動更新的 Evergreen 運行時間,或發佈運行時間的 固定版本 ,以散發 WebView2 運行時間。

WebView2 應用程式相依於用戶端電腦上的 WebView2 運行時間。 當您散發 WebView2 應用程式時,必須考慮 WebView2 運行時間如何散發至用戶端電腦並更新。

WebView2 運行時間

WebView2 運行時間是可轉散發的運行時間,可作為 WebView2 應用程式的基礎 (或 支援) Web 平臺。 概念類似於 Visual C++ 或適用於 C++/.NET 應用程式的 .NET 運行時間。 WebView2 運行時間包含已修改Microsoft Edge 二進位檔,這些二進位檔已針對 WebView2 應用程式進行微調和測試。 安裝 WebView2 執行時間之後,它不會顯示為使用者可見的瀏覽器應用程式。 例如,使用者在 [ 開始 ] 功能表中沒有瀏覽器桌面快捷方式或專案。

有兩種將 WebView2 運行時間散發和更新至用戶端電腦的不同方式:Evergreen 發佈模式和固定版本發佈模式。

Evergreen 運行時間發佈模式

Evergreen 發佈模式中,WebView2 運行時間不會與您的應用程式一起封裝,但一開始會使用在線啟動載入器或離線安裝程式安裝到用戶端。 之後,會在用戶端計算機上自動更新 WebView2 運行時間。 然後,您可以從最新的 WebView2 SDK 散發使用最新 WebView2 API 的 WebView2 應用程式更新。 建議大部分的開發人員使用 Evergreen 發佈模式。

優點:

  • WebView2 運行時間 (基礎 Web 平台會自動) 更新,而不需要您投入更多心力。

  • 客戶端系統上 WebView2 運行時間所需的磁碟空間較少,因為用戶端上的所有 WebView2 應用程式都會共用 WebView2 運行時間。

  • 在符合資格的系統上,Microsoft Edge 和 Evergreen WebView2 運行時間的二進位檔會在相同版本時硬式連結在一起。 此連結提供磁碟使用量、記憶體和效能的優點。

缺點:

  • 您的 WebView2 應用程式無法指定需要特定版本的 WebView2 執行時間。

Windows 11 裝置和 Windows 10 裝置

Evergreen 運行時間會預安裝到所有 Windows 11 裝置上,作為 Windows 11 操作系統的一部分。 Microsoft將 WebView2 運行時間安裝到所有合格的 Windows 10 裝置,如將 Microsoft Edge WebView2 運行時間傳遞給受控 Windows 10 裝置中所述。 即使您的應用程式使用 Evergreen 發佈模式,我們還是建議您發佈 WebView2 運行時間,以涵蓋尚未安裝運行時間的邊緣案例。 請參閱下 方有關 Evergreen 運行時間發佈模式的詳細 數據。

固定版本運行時間發佈模式

固定版本 發佈模式中,您可以下載特定版本的 WebView2 運行時間,並將它與應用程式套件中的 WebView2 應用程式一起封裝。 您使用應用程式封裝的 WebView2 執行時間僅供 WebView2 應用程式使用,而非用戶端電腦上的任何其他應用程式使用。

優點:

  • 您可以更充分掌控 WebView2 運行時間的版本設定。 您知道哪些 WebView2 API 可供您的應用程式使用,因為您可以控制您的應用程式可以使用哪個版本的 WebView2 運行時間。 您的應用程式不需要測試最新的 API 是否存在。

缺點:

  • 您必須自行管理 WebView2 運行時間。 WebView2 運行時間不會在用戶端上自動更新,因此若要使用最新的 WebView2 API,您必須定期更新應用程式與更新的 WebView2 運行時間。

  • 如果已安裝多個 WebView2 應用程式,則用戶端上需要更多磁碟空間。

  • 無法使用安裝程式來安裝固定版本運行時間。

瞭解運行時間下載頁面上的選項

Microsoft Edge WebView2 頁面的 [下載 WebView2 運行時間] 區段提供數個將 WebView2 運行時間散發到用戶端電腦的選項。 瞭解此頁面上的選項可提供良好的簡介,協助您決定要使用的方法。

散發和更新 WebView2 運行時間的選項

大部分的應用程式都建議使用 Evergreen 發佈模式。

  • 頁面的 Evergreen Bootstrapper 區段為在線使用者提供在用戶端電腦上執行的小型 Evergreen 執行時間啟動載入器。 啟動載入器會下載適當的 Evergreen WebView2 運行時間並安裝到用戶端。 您可以透過幾種不同的方式來使用啟動載入器:

    • 使用您從 [ 取得連結 ] 按鈕取得的連結,鏈接至啟動載入器。 您的應用程式會使用此連結,以程式設計方式將啟動載入器下載到用戶端,並叫用啟動載入器。 這種方法可避免使用您的應用程式封裝啟動載入器。 此方法相依於Microsoft的內容傳遞網路 (CDN) ,以取得啟動載入器。

    • 使用 [啟動載入器] 區段中的 [ 下載 ] 按鈕下載啟動 入器 () ,然後將啟動載入器與您的應用程式一起散發。 在此方法中,您可以使用應用程式安裝程式/更新程式或應用程式本身封裝啟動載入器,並叫用您隨附於應用程式的啟動載入器。 這種方法可避免相依於Microsoft的CDN,以取得啟動載入器。

  • 頁面的 Evergreen Standalone Installer 區段提供大型的獨立 Evergreen 安裝程式,主要適用於離線使用者。 在此方法中,您會使用應用程式安裝程式/更新程式或應用程式本身封裝獨立安裝程式,並叫用 Evergreen 獨立安裝程式。 這種方法可避免相依於Microsoft的CDN,以取得運行時間。

  • 頁面的 [固定版本 ] 區段提供固定版本運行時間,這是您與應用程式一起散發的特定 WebView2 運行時間版本。

WebView2 運行時間的詳細數據

發佈您的 WebView2 應用程式時,請確定用戶端電腦上有 WebView2 運行時間。 這項需求同時適用於 Evergreen 和固定版本發佈模式。

如果您想要使用固定版本發佈模式,您可以略過接下來的幾個區段,並跳到 [固定版本運行時間發佈模式的詳細數據]

透過 Windows Server Update Services (WSUS) 維護 WebView2 運行時間

請參閱在 WebView2 運行時間的企業管理Windows Server Update Services (WSUS ) 。

開發或生產期間的運行時間或瀏覽器支援

在開發和測試期間,WebView2 應用程式可以使用任一選項作為支援的 Web 平臺:

  • WebView2 運行時間。 運行時間通常會提供與 Microsoft Edge 瀏覽器穩定通道相同的 Web 平臺功能和更新頻率。 在生產環境中使用 WebView2 運行時間,或針對使用者目前擁有的 Web 平台進行開發和測試。

  • 預覽 (測試人員) Microsoft Edge 瀏覽器通道。 這些Microsoft Edge 預覽通道為 Beta、Dev 和 Canary。 使用此方法來測試您的應用程式是否具有順向相容性,讓您知道是否有需要更新應用程式的重大變更。 請參閱 測試即將推出的 API 和功能

WebView2 應用程式的生產版本只能使用 WebView2 運行時間做為支援 Web 平臺,不能Microsoft Edge。

Microsoft WebView2 不支援 Edge 穩定通道

WebView2 應用程式不允許使用 Microsoft Edge 的穩定通道作為支援的 Web 平臺。 這項限制可防止 WebView2 應用程式的生產版本相依於瀏覽器。 WebView2 應用程式在生產期間無法相依於瀏覽器,原因如下:

  • Microsoft Edge 不一定會出現在所有用戶裝置上。 企業和教育環境中的許多裝置都會與 Windows Update 中斷連線,或不是由Microsoft直接管理。 這類裝置可能尚未安裝 Microsoft Edge。 要求生產版本的 WebView2 應用程式使用 WebView2 運行時間,而不是Microsoft Edge 可避免讓Microsoft Edge 成為執行 WebView2 應用程式的必要條件。

  • 瀏覽器和應用程式有不同的使用案例。 如果 WebView2 應用程式需要用戶端上有 Microsoft Edge,這可能會對 WebView2 應用程式產生非預期的副作用。 例如,IT 系統管理員可以防止從特定版本更新瀏覽器,讓瀏覽器與內部網站保持相容。 要求 WebView2 應用程式的生產版本使用 WebView2 運行時間,而不是瀏覽器,可讓 WebView2 應用程式保持常青,即使客戶端的系統管理員禁止瀏覽器更新也一般。

  • 與瀏覽器相反,WebView2 運行時間是針對應用程式案例進行開發和測試,在某些情況下,WebView2 運行時間可能包含瀏覽器中尚未提供的錯誤修正。

Evergreen WebView2 運行時間會包含為 Windows 11 操作系統的一部分。 在 Windows 11 之前,各種 WebView2 應用程式都已在具有作業系統的裝置上安裝 Evergreen Runtime。 不過,有些裝置可能尚未預安裝運行時間,因此最好檢查運行時間是否存在於用戶端上。

在您的應用程式建立 WebView2 之前,應用程式應該檢查登錄機碼或呼叫 API) 並安裝遺漏的運行時間,以檢查 WebView2 運行時間是否存在 (。 應用程式可以在安裝或更新應用程式時執行這項檢查, (建議的) ,或是在應用程式運行時間。 若要檢查運行時間是否存在,請參閱下方 的部署 Evergreen WebView2 運行時間

Evergreen 運行時間發佈模式的詳細數據

Evergreen 發佈模式可確保您的 WebView2 應用程式會利用最新的 WebView2 功能和安全性更新。 Evergreen 散發模式具有下列特性:

  • WebView2 運行時間會自動更新,而不需要您採取任何動作。 它會收到與 Microsoft Edge 穩定通道的版本資訊和 Microsoft Edge 安全性 匯報 版本資訊中所述的相同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 裝置 (詳細數據)

大部分的 Windows 10 裝置都已安裝 WebView2 運行時間,如將 Microsoft Edge WebView2 運行時間傳遞給受控 Windows 10 裝置中所述。 少數 Windows 10 裝置未安裝 WebView2 運行時間。 建議您使用下列其中一種方法來處理此邊緣案例:

另請參閱:

部署 Evergreen WebView2 運行時間

裝置上的所有 Evergreen 應用程式只需要安裝一個 Evergreen WebView2 運行時間。 下載 WebView2 運行時間 提供數個工具,可協助您部署 Evergreen 運行時間。

  • 針對在線用戶端: WebView2 運行時間啟動載入器 是一個小型 (,) 安裝程式大約 2 MB。 WebView2 運行時間啟動載入器會從符合使用者裝置架構的Microsoft伺服器下載並安裝 Evergreen Runtime。

    • 在 WebView2 應用程式的安裝程式部分中,連結至啟動載入器。 使用連結以程式設計方式下載啟動載入器;選取上方下載頁面上的 [ 取得連結 ] 按鈕。

    • 或者,下載啟動載入器,並將其封裝在您的 WebView2 應用程式中。

  • 針對離線用戶端: WebView2 執行時間獨立安裝程式 是在離線環境中安裝 Evergreen WebView2 執行時間的完整安裝程式。

  • 如果您使用應用程式安裝程式來部署 MSIX 應用程式,您可以將 WebView2 執行時間指定為相依性,讓它與應用程式一起安裝。 如需如何執行這項操作的詳細資訊,請參閱應用程式套件指令清單檔中的 win32dependencies:ExternalDependency (Windows 10,Windows 11) 。另請參閱使用應用程式安裝程式安裝 Windows 10 應用程式

以每部電腦或每位使用者身分安裝運行時間

最新的啟動載入器和獨立安裝程式支援 WebView2 執行時間的每 部電腦每位使用者 安裝。

如果您從提升許可權的進程或命令提示字元執行安裝程式,則會依每部 計算機安裝運行時間。 如果您未從提升許可權的進程或命令提示字元執行安裝程式,則會 以每位使用者身分安裝運行時間。 不過,如果已備妥每部計算機Microsoft Edge Updater,則每一使用者安裝會自動由每部計算機安裝取代。 除了 Microsoft Edge 的 Canary 預覽通道以外,每個 電腦 Microsoft Edge 更新程式都會包含在 Microsoft Edge 中。

使用下列在線部署工作流程或離線部署工作流程,以確保已在應用程式啟動之前安裝運行時間。 您可以根據您的案例調整工作流程。 範例程式代碼可在 範例存放庫中取得。

偵測 WebView2 運行時間是否已安裝

若要確認已安裝 WebView2 執行時間,請使用下列其中一種方法:

  • 方法 1:在下列兩個登錄位置檢查 pv (REG_SZ) WebView2 運行時間的 regkey。 HKEY_LOCAL_MACHINE regkey 用於每部計算機的安裝。 HKEY_CURRENT_USER regkey 用於個別用戶安裝。

    對於 WebView2 應用程式,至少必須存在其中一個 regkey,並以大於 0.0.0.0 的版本來定義。 如果 regkey 不存在,或只有其中一個 regkey 存在,但其值為 null、空字串或 0.0.0.0,這表示用戶端上未安裝 WebView2 運行時間。 檢查這些 regkeys 以偵測是否已安裝 WebView2 運行時間,以及取得 WebView2 運行時間的版本。 在下列兩個位置尋找 pv (REG_SZ)

    要在 64 位 Windows 上檢查的兩個登錄位置:

    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 上檢查的兩個登錄位置:

    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 並評估 是否 versionInfonullptrnullptr 表示未安裝 WebView2 運行時間。 此 API 會傳回 WebView2 運行時間或任何已安裝預覽通道的版本資訊,Microsoft Edge (Beta、Dev 或 Canary) 。

僅限在線部署

如果您有一個僅限在線的部署案例,假設使用者可以存取因特網,請使用下列工作流程。

  1. 在您的應用程式設定期間,執行測試以確定已安裝 WebView2 運行時間。 請參閱上面 的偵測 WebView2 運行時間是否已安裝

  2. 如果未安裝運行時間,請在您的應用程式安裝程式中,使用下載頁面上 [ 取得連結 ] 按鈕 (的連結) 以程式設計方式下載 WebView2 運行時間啟動載入器。

  3. 發出下列命令來叫用 WebView2 執行時間啟動載入器。

    如果您從提升許可權的進程或命令提示字元執行下列命令,它會觸發 每部計算機的 安裝。 如果您未從提升許可權的進程或命令提示字元執行命令,則會進行 個別使用者 安裝。 不過,如果已備妥每部計算機Microsoft Edge Updater,則每一使用者安裝會自動由每部計算機安裝取代。 除了 Microsoft Edge 的 Canary 預覽通道以外,每部 電腦 Microsoft Edge 更新程式都會作為 Microsoft Edge 的一部分提供。 如需詳細資訊,請參閱依 每部計算機或每位使用者安裝運行時間

    MicrosoftEdgeWebview2Setup.exe /silent /install
    

上述工作流程有幾個優點:

  • 只有在需要時才會安裝運行時間。

  • 您不需要使用 WebView2 應用程式封裝執行時間安裝程式。

  • WebView2 運行時間啟動載入器會自動偵測裝置的架構 (平臺) ,然後安裝相符的 WebView2 運行時間。

  • 運行時間會以無訊息方式安裝。

或者,您可以使用應用程式封裝 WebView2 運行時間的 Evergreen Bootstrapper,而不是透過取得連結,以程式設計方式依需求下載啟動載入器。

離線部署

如果您有離線部署案例,其中應用程式部署必須完全脫機運作,請使用下列工作流程。

  1. 從下載 WebView2 運行時間 到您的開發電腦下載 Evergreen 獨立安裝程式。 Evergreen 獨立安裝程式會在用戶端上安裝 Evergreen WebView2 運行時間。

  2. 在應用程式安裝程式或更新程式中包含Evergreen 獨立安裝程式。

  3. 在您的應用程式設定期間,執行測試以確定已安裝 WebView2 運行時間。 請參閱上面 的偵測 WebView2 運行時間是否已安裝

  4. 如果未安裝 WebView2 運行時間,請執行 Evergreen 獨立安裝程式。 如果您要執行無訊息安裝,您可以執行下列命令。

    如果您從提升許可權的進程或命令提示字元執行下列命令,它會觸發 每部計算機的 安裝。 如果您未從提升許可權的進程或命令提示字元執行命令,則會進行 個別使用者 安裝。 不過,如果已備妥每部計算機Microsoft Edge Updater,則每一使用者安裝會自動由每部計算機安裝取代。 除了 Microsoft Edge 的 Canary 預覽通道以外,每部 電腦 Microsoft Edge 更新程式都會作為 Microsoft Edge 的一部分提供。 如需詳細資訊,請參閱依 每部計算機或每位使用者安裝運行時間

    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 保持相容,您應該設定測試基礎結構。

如需如何測試應用程式以獲得轉送相容性的最佳做法,請參閱 使用預覽通道進行發行前測試部署預覽通道自我裝載

使用最近的 API 時的功能偵測

在 WebView2 應用程式中使用 Evergreen 模式時,請務必使用 或 try-catch之類的QueryInterface方法,檢查用戶端電腦上是否有新的 API,因為用戶端電腦可能沒有包含新 API 的最新 WebView2 運行時間。 如果 IT 管理員 停用更新,或用戶端離線,匯報 WebView2 運行時間可能不會發生。

如需詳細資訊,請參閱功能偵測,以測試已安裝的運行時間是否支援在發行前版本和發行WebView2的SDK中最近新增的API。

Microsoft Edge 和 WebView2 運行時間有個別的更新原則。 停用 Microsoft Edge 的更新不會影響最新 WebView2 API 的可用性,因為 WebView2 運行時間仍然可以自動更新 (,除非 管理員) 停用更新 WebView2 運行時間。

固定版本運行時間發佈模式的詳細數據

對於具有嚴格相容性需求的限制環境,請考慮使用固定版本發佈模式。 (固定版本發佈模式先前稱為 「攜帶您自己的」)

在固定版本發佈模式中,您可以控制應用程式 WebView2 運行時間的更新時間。 您可以下載特定版本的 WebView2 運行時間,然後使用您的 WebView2 應用程式封裝它。 用戶端上的 WebView2 運行時間不會自動更新。 相反地,您會定期更新與更新的應用程式一起封裝和散發的 WebView2 運行時間。 固定版本方法不會使用 WebView2 運行時間的登錄機碼。

固定版本二進位檔超過 250 MB,而且會讓您的應用程式套件放大該數量。

若要使用固定版本發佈模式:

  1. 從下載 WebView2 運行時間下載 WebView2 運行時間做為套件下載 WebView2 運行時間的固定版本。

    最新和第二個最新主要版本的最修補版本可在此網站下載。 保留您需要之任何版本的封存複本。

  2. 使用命令列命令 expand {path to the package} -F:* {path to the destination folder} 或使用 WinRAR 之類的解壓縮工具來解壓縮 WebView2 運行時間套件。 避免透過 檔案總管 解壓縮,因為該方法可能不會產生正確的資料夾結構。

  3. 在您的應用程式套件中包含所有解壓縮的固定版本二進位檔,以在應用程式安裝期間部署在目標計算機上。

  4. 指出建立 WebView2 環境時的固定版本二進位檔路徑。

    • 針對 Win32 C/C++,您可以使用 CreateCoreWebView2EnvironmentWithOptions 函式來建立環境。 browserExecutableFolder使用 參數來指出包含 msedgewebview2.exe之資料夾的路徑。

    • 針對 .NET,您必須先指定環境,WebView2 Source 屬性才會生效。 針對 .NET,您可以使用下列其中一種方法來指定環境:

      • 在 元素CreationPropertiesWebView2設定 (WPF/WinForms) 屬性。 BrowserExecutableFolder使用 (WPF/WinForms) 類別中CoreWebView2CreationProperties的成員來指出固定版本二進位檔的路徑。

      • 或者,使用 EnsureCoreWebView2Async (WPF/WinForms) 來指定環境。 browserExecutableFolder使用 CoreWebView2Environment.CreateAsync 中的 參數來指出固定版本二進位檔的路徑。

    • 針對 WinUI,請指定已安裝的位置,並設定運行時間路徑的環境變數,以確定應用程式可以存取資料夾。 其中一個做法是將下列 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. 在 Windows 10 裝置上,從固定版本 120 開始,使用固定版本的已解壓縮 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 PACKAGES [固定版本] 資料夾的 [安全性] 索引標籤中授與 和 ALL RESTRICTED APPLICATION PACKAGES 許可權,如下所示:

      PlayReady 的許可權

固定版本的已知問題

  • 目前,固定版本無法從網路位置或 UNC 路徑執行。

要隨附於應用程式的檔案

程式 WebView2Loader 代碼必須隨附於應用程式。 這可以透過 靜態連結WebView2Loader.lib 至應用程式二進位檔,或包含 WebView2Loader.dll 符合應用程式架構的 來完成。 在 WebView2 SDK 中使用 .targets 檔案時,Visual Studio 通常會自動為您處理此問題,但在某些情況下,您可能需要手動指定要與應用程式一起發佈的檔案。

WebView2Loader.dll 是原生和架構特定的二進位檔,因此您必須包含您預期應用程式在其中執行的所有二進位檔。 例如:

  • 針對 x86,您會包含 的 WebView2Loader.dllx86 版本。

  • 針對使用 AnyCPU 的受控應用程式,您會包含的 WebView2Loader.dllx86、x64 和 arm64 版本。 正確的版本 WebView2Loader.dll 是從適當的架構特定資料夾載入。

範例原生應用程式資料夾結構:

\<myApp>
    \WebView2Loader.dll

針對 .NET 受控應用程式,您也需要包含核心 WebView2 功能的 WebView2 .NET 元件 () Microsoft.Web.WebView2.Core.dll ,以及 WPF/WinForms 特定功能 (Microsoft.Web.WebView2.Winforms.dllMicrosoft.Web.WebView2.WPF.dll) 。

範例 Managed 應用程式資料夾結構:

\<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)