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>