I have followed all the instructions from Getting Started with WebView2 (developer preview) to create an app that is using Microsoft Edge (Chromium). However, it is not able to find the Edge browser. I also tried the sample apps (this and this) but with the same results. I have built the apps both for 32- and 64-bit.
What I get from calling CreateWebView2EnvironmentWithDetails()
is error 0x80070002
, which is ERROR_FILE_NOT_FOUND
(The system cannot find the file specified.)
HRESULT hr = CreateWebView2EnvironmentWithDetails(nullptr, nullptr, nullptr,
Callback<IWebView2CreateWebView2EnvironmentCompletedHandler>(
[hWnd](HRESULT result, IWebView2Environment* env) -> HRESULT {
// Create a WebView, whose parent is the main window hWnd
env->CreateWebView(hWnd, Callback<IWebView2CreateWebViewCompletedHandler>(
[hWnd](HRESULT result, IWebView2WebView* webview) -> HRESULT {
if (webview != nullptr) {
webviewWindow = webview;
}
// Resize WebView to fit the bounds of the parent window
RECT bounds;
GetClientRect(hWnd, &bounds);
webviewWindow->put_Bounds(bounds);
// Schedule an async task to navigate to Bing
webviewWindow->Navigate(L"https://www.bing.com/");
return S_OK;
}).Get());
return S_OK;
}).Get());
if (!SUCCEEDED(hr))
{
if (hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND))
{
MessageBox(
nullptr,
L"Couldn't find Edge installation. "
"Do you have a version installed that's compatible with this "
"WebView2 SDK version?",
nullptr, MB_OK);
}
else
{
std::wstringstream formattedMessage;
formattedMessage << L"Failed to create webview environment"
<< ": 0x" << std::hex << std::setw(8) << hr;
MessageBox(nullptr, formattedMessage.str().c_str(), nullptr, MB_OK);
}
}
I have:
Any ideas why my Edge installation is not found?
Probably the version of the Browser is not compatible with the latest version of the SDK, you may have to go back some versions for it to work, following the list:
https://docs.microsoft.com/en-us/microsoft-edge/hosting/webview2/releasenotes
Edit: As informed by one of the developers of WebView2, at the moment WebView2 is still in preview version so always the latest version of Webview2 will accompany the latest canary version of Edge.
https://github.com/MicrosoftEdge/WebViewFeedback/issues/103#issuecomment-575287157
You must install the WebView2 runtime in order to run the compatible applications.
Also, you need to upgrade the NuGet package, maybe in your code you still have the reference of "pre-release version". In that version, "WebView2Environment" was missing it was kind of "WebView2Experiment".
I got the same error, and after installed WebView2 Runtime , it works. https://developer.microsoft.com/microsoft-edge/webview2
User contributions licensed under CC BY-SA 3.0