首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TEdgeBrowser金丝雀需求

TEdgeBrowser金丝雀需求
EN

Stack Overflow用户
提问于 2022-05-26 21:48:14
回答 1查看 511关注 0票数 0

我在RADStudio10.4.2悉尼测试了TEdgeBrowser。将组件拖放到C++Builder中的窗体上,然后调用:

代码语言:javascript
复制
EdgeBrowser1->Navigate("https://www.stackoverflow.com/");

这会在我的开发机器上导致一个错误:

未能找到已安装的WebView2运行时或不稳定的Microsoft安装。

我已经将WebView2Loader.dll (从C:\Program Files (x86)\Embarcadero\Studio\21.0\Redist\win32\)放置到项目的可执行文件夹中,所以这不可能是错误的原因。

在那之后,我安装了边缘金丝雀,然后它开始工作,没有错误。

但是,如果我在Release配置中编译相同的项目,然后在另一个系统上运行,该系统只有Microsoft浏览器的稳定安装,而且没有安装边缘金丝雀,那么所有这些都能工作。

但是,如果我在构建系统上运行相同的Release构建,它就无法加载(可能是因为与Debug构建相同的原因--它找不到金丝雀安装)。

我测试了TMS的TAdvWebBrowser组件,它没有这个需求,而且它在没有安装边缘金丝雀的情况下可以在这两个系统上工作。但我更愿意使用TEdgeBrowser,以避免对第三方组件的不必要依赖。

TEdgeBrowser出现这种奇怪行为的原因是什么?在RADStudio11Alexandria也会发生这种情况吗?可以避免这种情况,以便在两个系统上都安装稳定的Edge吗?

编辑:我后来发现有这样的属性:

代码语言:javascript
复制
EdgeBrowser1->BrowserExecutableFolder = "C:\\Program Files (x86)\\Microsoft\\EdgeCore\\101.0.1210.53";

有了这个,一切都成功了。但是,根据文档(使用TEdgeBrowser组件和更改TWebBrowser组件),它应该在系统上自动定位WebView2控件的当前版本。它只在一个系统上这样做,但在开发系统上却不这样做。

EN

回答 1

Stack Overflow用户

发布于 2022-05-27 08:56:39

TEdgeBrowser需要WebView2 Runtime才能操作。关于MS Edge文档网站的更多细节。

WebView2Loader.dll应可由应用程序加载,位于同一文件夹、已知路径或在path环境变量中注册。最新版本可在NuGet上获得。Nupkg是一个压缩档案。查看build\本机\文件夹。

如果是固定版本,TEdgeBrowser.BrowserExecutableFolder应该指向WebView2运行时文件夹。

固定版本分发,放置在您的应用程序文件夹中,似乎是您的方案的首选方法。

MS声称,在下一个Windows版本中,将默认分发常绿版本。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72398378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档