Chromium Edge-based WebView2 does not work

6

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:

  • Edge Version 79.0.309.60 (Official build) beta (64-bit)
  • Windows 10.0.17134
  • Visual Studio 2019 16.4.2

Any ideas why my Edge installation is not found?

c++
windows
browser
webview
microsoft-edge
asked on Stack Overflow Jan 13, 2020 by Marius Bancila • edited Jan 13, 2020 by Marius Bancila

4 Answers

4

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

answered on Stack Overflow Jan 24, 2020 by Fernando Vellozo • edited Jan 24, 2020 by Fernando Vellozo
3

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".

answered on Stack Overflow Nov 28, 2020 by Ayush Chaudhary
1

I got the same error, and after installed WebView2 Runtime , it works. https://developer.microsoft.com/microsoft-edge/webview2

answered on Stack Overflow Jan 26, 2021 by gigi
0
  • Update Edge to latest version.
  • Update Nuget WebView2 SDK to lastest (INCLUDE prelease)
answered on Stack Overflow Jan 16, 2021 by Mark Yang

User contributions licensed under CC BY-SA 3.0