Edge SDK is installed in target PC? or a DLL to EDGE?
---------- SHDocVW.pas
... line 3591
procedure DoCreate; begin // Create the IE control or the Edge control according to the property case FSelectedEngine of TSelectedEngine.IEOnly: begin FIEIntf := IUnknown(OleObject) as IWebBrowser2; FActiveEngine := TActiveEngine.IE; end; TSelectedEngine.EdgeOnly, /// <<---------- TSelectedEngine.EdgeIfAvailable: begin // Indicate we are on the case to avoid another call into here starting us off again FActiveEngine := TActiveEngine.NoneYet; FEdgeReadyState := READYSTATE_LOADING; // Set forth trying to create a WebView2 browser control if FEdge = nil then FEdge := TEdgeBrowser.Create(Self); FEdge.OnCreateWebViewCompleted := WebViewCreateWebViewCompleted; FEdge.OnDocumentTitleChanged := WebViewDocumentTitleChanged; FEdge.OnHistoryChanged := WebViewHistoryChanged; FEdge.OnNavigationStarting := WebViewNavigationStarting; FEdge.OnNavigationCompleted := WebViewNavigationCompleted; FEdge.OnNewWindowRequested := WebViewNewWindowRequested; FEdge.OnScriptDialogOpening := WebViewScriptDialogOpening; FEdge.Width := Width; FEdge.Height := Height; FEdge.Parent := Self; end; end; end;
begin if (FIEIntf = nil) and ((FEdge = nil) or not FEdge.WebViewCreated) and (FActiveEngine <> TActiveEngine.NoneYet) then DoCreate; end;
... more in line 4328
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3
Windows 11 Windows 10 Windows 10 IoT 企业版 LTSC x32 2019 Windows 10 IoT 企业版 LTSC x64 2019 Windows 10 IoT 企业版 21h1 x64 Windows 8.1 Windows 7 ** Windows Server 2019 Windows Server 2016 Windows Server 2012 Windows Server 2012 R2 Windows Server 2008 R2 **
----------------------------------------------
[alias] co = clone --recurse-submodules up = submodule update --init --recursiveupd = pullinfo = statusrest = reset --hard懒鬼提速https://www.cctry.com/>http://qalculate.github.io/downloads.htmlhttps://www.cctry.com/
In fact, you do not need to "Deploy" the libraries of Edge (WebView2Loader...), however, it is necessary that the user has Edge installed on the target computer.
In your software you just check whether or not you want to use: -- Edge only -- Use Edge if it is installed -- or, use IE.
How you do it?
case WebBrowser1.SelectedEngine of TWebBrowser.TSelectedEngine.EdgeOnly: ; // code... TWebBrowser.TSelectedEngine.EdgeIfAvailable: ; // code... TWebBrowser.TSelectedEngine.IEOnly: ; // code... end;
If Edge is properly installed on the user's computer, it will be used. Otherwise, IE (or another installed) will be used.
This way, you don't have to worry about browser updates on the user's computer.
That's how it should be.
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!RAD 11.3