由于如果IE生命结束,我将替换WebBrowser (基于IE的)控件在我们的本机.net forms应用程序(c#)到Microsoft.Web.WebView2.WinForms.WebView2。分发页说,用户需要安装WebView2运行时,这大约是100 MB!
我的问题是,这真的需要吗?安装MS (在每台Windows 10计算机上)还不够吗?
此页说:
先决条件:确保您在继续之前安装下列先决条件列表。WebView2运行时或安装在受支持的操作系统(当前的Windows 10、Windows8.1和Windows7)上的任何Microsoft内幕(预览)通道 (Beta、Dev或Canary)。
但是,我不确定边缘内幕是否是普通用户的边缘浏览器?
那么,我真的需要分发100 MS的WebView2运行时(我们的一些客户是离线用户)和我的App (它使用WinForms.WebView2控件在我的本地应用程序中显示HTML页面),还是在这些系统上安装MS就足够了?
发布于 2021-08-26 16:16:13
答案是:是的,您需要安装WebView2运行时!安装在用户机器上的Edge版本不是内部通道,而是稳定的通道。
虽然您可以使用边缘内部通道,但除了开发之外,不建议使用这个通道,因为只有开发人员才有此版本。
引用链接到的页面:“WebView2不支持Microsoft稳定通道”.
发布于 2021-08-27 09:20:46
是的,您确实需要分发WebView2运行时。通过医生链接,您可以找到原因:
WebView2应用程序的生产版只能使用WebView2运行时作为支持web平台,而不能使用Microsoft。
WebView2不支持Microsoft稳定通道
发布于 2021-08-31 10:25:56
是的,将WebView2运行时包括在您的发行工具包中。
如果您将WebView2常绿启动机包括在您的工具包中,它将获取最新的常绿嵌入式浏览器。这是为了防止未来,即使你没有更新你的工具包一段时间。
当我包含<2MiB引导程序并运行它时,我的工具包在W10、W7SP1、W8.1、WS2016和WS2019上正确安装。
而且,您的安装程序可以检测WebView2是否已经安装,并跳过重新安装它。我希望每个写安装程序的人都会这么做。如果我们这样做了,那么我们的用户将免于重新安装每一个新的WebView2 2使用的应用程序。
这个小Inno设置代码节为我正确地检测到了它。当需要运行True安装程序时返回WebView2。
function WebView2IsNotInstalled: Boolean;
var Pv: String;
var key64: String;
var key32: String;
begin
key64 := 'SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}';
key32 := 'SOFTWARE\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}';
Result := True;
if RegQueryStringValue(HKEY_LOCAL_MACHINE, key64, 'pv', Pv) then
begin
Result := 0 = Length(pV);
end
else begin
if RegQueryStringValue(HKEY_LOCAL_MACHINE, key32, 'pv', Pv) then
begin
Result := 0 = Length(pV);
end;
end;
end;(请检查这段代码:我不是安装高手。)
https://stackoverflow.com/questions/68938840
复制相似问题