系列目录 【已更新最新开发文章,点击查看详细】
发布使用Microsoft Edge WebView2的应用程序时,客户端计算机上需要安装WebView2运行时,可以安装自动更新的Evergreen运行时,也可以安装固定版本的。
WebView2 运行时是可再发行运行时,充当 WebView2 应用的基础 (或 支持) Web 平台。 此概念类似于 Visual C++ 或适用于 C++/.NET 应用的 .NET 运行时。 WebView2 运行时包含已修改的Microsoft Edge二进制文件,这些二进制文件针对 WebView2 应用进行了微调和测试。 安装 WebView2 运行时后,它不会显示为用户可见的浏览器应用。 例如,用户在 “开始” 菜单中没有浏览器桌面快捷方式或条目。
可通过两种不同的方式将 WebView2 运行时分发和更新到客户端计算机:常青分发模式和固定版本分发模式。
下载地址:https://developer.microsoft.com/zh-CN/microsoft-edge/webview2/#download-section
常青运行时分发模式
在长青分发模式下,WebView2运行时不随应用打包,而是最初使用在线引导程序或离线安装程序安装到客户端。之后,WebView2运行时会在客户端机器上自动更新。然后,开发者可以从最新的 WebView2 SDK 分发使用最新 WebView2 API 的 WebView2 应用的更新。对于大多数开发人员,建议使用长青分发模式。
固定版本运行时分发模式
在固定版本分发模式下,下载特定版本的 WebView2 运行时,并将其与应用包中的 WebView2 应用一起打包。 随应用打包的 WebView2 运行时仅由 WebView2 应用使用,而不由客户端计算机上的任何其他应用使用。
下载选项
上图中提供的三种下载方式,全部下载到本地,如下图
①是在客户端计算机上运行的小型常青运行时引导程序,体积仅有1.7M,安装过程中需要联网下载WebView2 真正的运行时程序,下载完成后才执行安装。采用这种模式安装的运行时始终与微软官方的最新版本保持一致。
②是32位的WebView2 Runtime长青版独立安装程序。
③是64位的WebView2 Runtime长青版独立安装程序。
④是固定版本运行时。截止我下载时最新版本为100.0.1185.50。开发者可以选择其他版本使用。下载后解压,将其打包到应用程序中即可使用。
对于大多数应用,建议使用常青分发模式。安装完成后,控制面板查看,版本号与Edge浏览器版本保持一致。但是WebView2运行时是独立的运行环境,不依赖于Edge。
长青版更新策略
WebView2 的正式发布版 (GA) 或预览版适用于以下编程环境:
在开发和测试期间,WebView2应用程序可以使用以下任一选项作为支持web平台:
WebView2应用程序的生产版本只能使用WebView2运行时作为支持web平台,而不能使用Microsoft Edge。
常青分发模式可确保 WebView2 应用正在利用最新的 WebView2 功能和安全更新。 常青分布模式具有以下特征:
使用 WebView2 运行时的长青分发模式时,WebView2 应用假定客户端具有最新的运行时。 对于客户端上的所有应用,应用不能要求特定版本的 WebView2 运行时。 发布新的 WebView2 SDK 包时,WebView2 运行时的兼容版本已分发给客户端。 因此,WebView2 应用可以使用最新版本的 WebView2 SDK 中的 API。请参阅 了解浏览器版本和 WebView2。
固定版本更新策略
对于具有严格兼容性要求的受约束环境,请考虑使用固定版本分发模式。 固定版本分发模式以前称为自带版本分发模式。
在固定版本分发模式下,开发者可以控制应用程序WebView2运行时的更新时间。下载特定版本的WebView2运行时,然后将其与WebView2应用程序打包。客户端上的WebView2运行时不会自动更新。相反,开发者可以定期更新WebView2运行时,该运行时与更新的应用程序一起打包和分发。固定版本方法不使用WebView2运行时的注册表项。
若要使用固定版本分发模式,请执行以下操作:
1、下载 WebView2 运行时的固定版本作为包。
可在此站点下载最新版本和第二大版本的最修补版本。 保留所需任何版本的存档副本。
2、将下载的文件进行解压缩
3、在应用包中包括所有解压缩的固定版本二进制文件,约368M,这些二进制文件将在应用安装期间部署在目标计算机上。
4、在创建WebView2环境时指示固定版本二进制文件的路径。
browserExecutableFolder
使用该参数指示包含msedgewebview2.exe
的文件夹的路径。Source
属性生效之前指定环境。
对于 WinUI,请通过指定已安装的位置并为运行时路径设置环境变量来确保应用有权访问该文件夹。 执行此操作的一种方法是将以下 C# 代码添加到应用 CreationProperties
元素上WebView2
设置 (WPFWinForms/) 属性。 BrowserExecutableFolder
使用 (WPFWinForms /) 类中CoreWebView2CreationProperties
的成员来指示固定版本二进制文件的路径。- 或者使用`EnsureCoreWebView2Async` ([WPFWinForms](https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.web.webview2.winforms.webview2.ensurecorewebview2async) /) 来指定环境。 `browserExecutableFolder`使用 [CoreWebView2Environment.CreateAsync](https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.web.webview2.core.corewebview2environment.createasync) 中的参数来指示固定版本二进制文件的路径。
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、使用应用打包并寄送固定版本二进制文件。 根据需要更新二进制文件。
.csproj
) ,然后在项目标记中添加以下代码<ItemGroup>
<Content Include="FixedRuntime\(version number)\\**\*.*">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
bin\**designated architecture**\Release
验证文件夹是否具有匹配的 FixedRuntime\ (版本号) 文件夹,其中包含运行时文件。
WebView2 不支持 Microsoft Edge 稳定通道
WebView2应用程序不允许使用Microsoft Edge的稳定频道作为支持web平台。此限制可防止WebView2应用程序的生产版本依赖于浏览器。WebView2应用程序在生产过程中不能依赖浏览器,原因如下:
长青版 WebView2 运行时将作为Windows 11操作系统的一部分包含在内。 在Windows 11之前,各种 WebView2 应用已在具有操作系统的设备上安装了长青版运行时。 但是,某些设备可能未预安装运行时,因此最好检查客户端上是否存在运行时。 在应用创建 WebView2 之前,应用应通过检查注册表项或调用 API 来检查 WebView2 运行时是否存在,并在缺少运行时时安装它。 在安装或更新应用 (建议的) 或应用运行时,应用可以执行此检查。 请参考我的博客《.NET混合开发解决方案6 检测是否已安装合适的WebView2运行时》
系列目录 【已更新最新开发文章,点击查看详细】