我一直在使用TEdgeBrowser/WebView2 2和安装的Edge /Canary浏览器版本作为“运行时”,这似乎很好。但是,对于生产推出,我们非常希望从我们的应用程序目录中发布运行时的固定版本。
我一直试图使用以下方法:
MyEdgeBrowser.BrowserExecutableFolder := ExtractFileDir(Application.ExeName) + '\WebView2Runtime';在上面所引用的路径中,我有一个带有固定版本运行时和所有支持文件和文件夹的完整安装的msegewebview2.exe。这是我下载并解压的文件:
Microsoft.WebView2.FixedVersionRuntime.98.0.1108.62.x86.cab
下面是一张提取时的图像:

我尝试将WebView2Loader.dll放在我的应用程序目录、WebView2Runtime文件夹中,甚至在WebView2Runtime\win-x86本机文件夹中,总是作为我的应用程序目录的子文件夹。
我已经尝试过Embarcadero与GetIt包管理器一起发行的11/20/2021版本的GetIt,以及微软通过NuGet包管理器发布的最新和最好的版本。
CreateWebView调用总是失败。
是否有人成功地获得了使用Delphi & WebView2Loader.dll的固定版本运行库?是否存在特定版本的问题?需要什么文件夹结构?
谢谢。
更新:我发现的一个糟糕的解决方法是安装一个dev或金丝雀版本的Edge,然后将"C:\Program (X86)\Microsoft\ Edge Beta“文件夹中的所有文件复制到我的应用程序文件夹中,卸载边缘Beta/金丝雀,然后将BrowserExecutableFolder指向"Edge Beta\Application”文件夹。这是我第一次看到没有边缘或金丝雀安装的“固定版本运行时”函数。
发布于 2022-03-24 17:03:20
我在64位模式下开始了这个项目,但是由于内部原因,我不得不切换到32位模式。不幸的是,我没有切换回32位版本的WebView2Loader.dll,而是使用运行时的32位版本。
一旦我切换到32位版本的WebView2Loader.dll,TEdgeBrowser就能够只使用固定版本的运行时,而无需再安装。
https://stackoverflow.com/questions/71471611
复制相似问题