WebView2 на основе Chromium Edge не работает - PullRequest
1 голос
/ 13 января 2020

Я следовал всем инструкциям Начало работы с WebView2 (предварительный просмотр для разработчика) , чтобы создать приложение, использующее Microsoft Edge (Chromium). Однако он не может найти браузер Edge. Я также попробовал примеры приложений ( это и это ), но с теми же результатами. Я создал приложения как для 32-, так и для 64-разрядных.

При вызове CreateWebView2EnvironmentWithDetails() получаю ошибку 0x80070002, равную ERROR_FILE_NOT_FOUND ( Система не может найти указанный файл . )

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);
  }
}

У меня есть:

  • Версия Edge 79.0.309.60 (официальная сборка) бета (64-битная)
  • Windows 10.0.17134
  • Visual Studio 2019 16.4.2

Есть идеи, почему моя установка Edge не найдена?

1 Ответ

1 голос
/ 24 января 2020

Возможно, версия Браузера не совместима с последней версией SDK, возможно, вам придется go вернуть некоторые версии, чтобы она работала, следуя списку:

https://docs.microsoft.com/en-us/microsoft-edge/hosting/webview2/releasenotes

Редактировать: Как сообщил один из разработчиков WebView2, на данный момент WebView2 все еще находится в предварительной версии, поэтому всегда последняя версия Webview2 будет сопровождать последнюю канарейную версию Edge.

https://github.com/MicrosoftEdge/WebViewFeedback/issues/103#issuecomment -575287157

...