J'ai suivi toutes les instructions de Mise en route avec webview2 (aperçu du développeur) Pour créer une application utilisant Microsoft Edge (Chrome). Cependant, il n'est pas capable de trouver le navigateur Edge. J'ai aussi essayé les échantillons d'applications (- this et this ) mais avec les mêmes résultats. J'ai construit les applications à la fois pour 32 et 64 bits.
Ce que je reçois de l'appelant CreateWebView2EnvironmentWithDetails()
est une erreur 0x80070002
, lequel est ERROR_FILE_NOT_FOUND
( Le système ne peut pas trouver le fichier spécifié. ))
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);
}
}
J'ai:
Des idées pourquoi mon installation de bord n'est pas trouvée?
La version du navigateur n'est probablement pas compatible avec la dernière version du SDK, vous devrez peut-être remonter certaines versions pour qu'il fonctionne, après la liste:
https://docs.microsoft.com/en-us/microsoft-ege/hosting/webview2/ReleAsenotes
Modifier: Comme indiqué par l'un des développeurs de WebView22, au moment où WebView2 est toujours dans la version de prévisualisation afin que la dernière version de WebView2 accompagne la dernière version du Canary de Edge.
https://github.com/microsoftge/webevieweedback/issues/103#issuecomment-575287157
J'ai la même erreur et j'ai installé WebView2 Runtime, cela fonctionne. https://developer.microsoft.com/microsoft-ege/webview2