MicrosoftEdge/WebView2Feedback

WebView2 Initialization Error in WinPE x64

Abithk7-1 opened this issue · 0 comments

Discussed in #4947

Originally posted by Abithk7-1 November 26, 2024
I'm experiencing an issue with WebView2 initialization in our WinPE x64 environment.

The error I'm encountering is:
System.Runtime.InteropServices.COMException (0x80080005): Server execution failed (Exception from HRESULT: 0x8008005 (CO_E_SERVER_EXEC_FAILURE)) at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at Microsoft.Web.WebView2.Core.CoreWebView2Environment.d__102.MoveNext()

Environment:
WinPE x64
Framework: 4.8.1
I'm using the following nuget libraries:

  • Microsoft.Web.WebView2.Core.dll
  • Microsoft.Web.WebView2.Winforms.dll
  • Microsoft.Web.WebView2.WPF.dll
    The WebView2 Fixed Version Runtime binaries I'm using is:
  • Microsoft.WebView2.FixedVersionRuntime.130.0.2849.56.x64

My code for initializing WebView2 is as follows:
string exeLocation = AppDomain.CurrentDomain.BaseDirectory;
string webView2Folder = Path.Combine(exeLocation, "WebView2x64");
string logFilePath = Path.Combine(exeLocation, "WebView2Log.txt");
string userDataFolder = Path.Combine(exeLocation, "UserData");

        try
        {

            // Create WebView2 environment with logging enabled
            var environment = await CoreWebView2Environment.CreateAsync(
                browserExecutableFolder: webView2Folder,
                userDataFolder: userDataFolder,
                options: new CoreWebView2EnvironmentOptions("--enable-logging --v=1"));
            // Initialize WebView2 with the environment
            await webView.EnsureCoreWebView2Async(environment);
            webView.CoreWebView2.Navigate(Url);
            // Log a success message
            Log( "WebView2 initialized successfully.");
        }
        catch (Exception ex)
        {
            // Log any initialization errors
            Log($"Error initializing WebView2: {ex.ToString()}");
        }

The folder structure for the WebView2 libraries is as follows:

<myApp>
\Microsoft.Web.WebView2.Core.dll
\Microsoft.Web.WebView2.Winforms.dll
\Microsoft.Web.WebView2.WPF.dll
\runtimes
\win-arm64\native\WebView2Loader.dll (arm64)
\win-x64\native\WebView2Loader.dll (x64)
\win-x86\native\WebView2Loader.dll (x86)

  </div>