Microsoft Edge 84 released but WebView2 is not working as promised - core

I was waiting for Microsoft Edge 84 to be released so that WebView2 is included as they promise.. but after updating MEdge WebView2 is not working...
For example CoreWebView2Ready never fired and WebView2 is showing nothing and it is throwing exception on resize!!
WebView2 is working fine only when installing Canary channel version on target machine.
Any help will be appreciated.
Regards,

I've used 0.9.515-prerelease and as stated in https://learn.microsoft.com/en-us/microsoft-edge/webview2/releasenotes#09515-prerelease it requires Microsoft Edge 84 or higher.
In real it requires Evergreen WebView2 Runtime Installer to be distributed to work on the target machine.
The other way to make it work without WebView2 Runtime Installer is to install Canary channel on target machine which is now on version 86.
Regards,

Related

Distribution of WebView2 user native NetForms App: is WebView2 Runtime really needed?

Due to end if IE life, I am replacing the WebBrowser (IE based) control in our native .net forms app (c#) to Microsoft.Web.WebView2.WinForms.WebView2.
The distribution page says, the user needs to install the WebView2 Runtime, which is about 100 MB!
My question, is this really needed? Isn't it enough to have the MS Edge installed (which is on EVERY Windows 10 machine)?
This page says:
Prerequisites: Ensure you install the following list of pre-requisites before proceeding. WebView2 Runtime or any Microsoft Edge Insider (preview) Channel (Beta, Dev, or Canary) installed on a supported OS (currently Windows 10, Windows 8.1, and Windows 7).
However, I am not sure if Edge Insider is a normal user's Edge Browser?
So, do I really need to distribute 100MB WebView2 Runtime (some of our customers are offline users) together with my App Installer (which uses WinForms.WebView2 control to display HTML pages inside my native App), or it's enough if MS Edge is installed on those systems?
The answer is: Yes, you need to install the WebView2 Runtime! The version of Edge installed on user's machines is NOT insider channel - it's the Stable channel.
Although you can use the Edge Insider channel, this is is not recommended except for developing, since only developers has this version.
To quote the page you linked to: "Microsoft Edge Stable channel isn't supported for WebView2".
Yes, you really need to distribute WebView2 Runtime. From the doc you link, you can find the reasons:
Under this paragraph Runtime or browser support during development or production, you can find that:
A production release of a WebView2 app can only use the WebView2 Runtime as the backing web platform, not Microsoft Edge.
The pre-installed browser on Windows 10 is Edge Stable Channel, most people won't install Edge Insider (preview) Channel, and:
Microsoft Edge Stable channel isn't supported for WebView2
Yes, include the WebView2 runtime in your distribution kit.
If you include the WebView2 Evergreen Bootstrapper in your kit, it will fetch the latest evergreen embedded browser. It's intended to be future-proof even if you don't update your kit for a while.
My kit installs correctly on W10, W7SP1, W8.1, WS2016, and WS2019 when I include the <2MiB bootstrapper and run it.
And, your installer can detect whether WebView2 is already installed, and skip reinstalling it. I hope everybody writing an installer will do that. If we do, then our users will be spared a reinstallation for each new WebView2-using app.
This little Inno Setup code stanza detects it correctly for me. Returns True when it's necessary to run the WebView2 installer.
function WebView2IsNotInstalled: Boolean;
var Pv: String;
var key64: String;
var key32: String;
begin
key64 := 'SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}';
key32 := 'SOFTWARE\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}';
Result := True;
if RegQueryStringValue(HKEY_LOCAL_MACHINE, key64, 'pv', Pv) then
begin
Result := 0 = Length(pV);
end
else begin
if RegQueryStringValue(HKEY_LOCAL_MACHINE, key32, 'pv', Pv) then
begin
Result := 0 = Length(pV);
end;
end;
end;
(Please doublecheck this code: I am not an installer whizz.)

Windows WebView2 access local files exception raised

I am testing the WebView2 control and want to access local files instead of presenting a remote website. I am using the SetVirtualHostNameToFolderMapping method but get an exception specifying that the interface is not support maybe because an old version of the control or an old version of the runtime. I am using the most recent version of both (88.0.705.81 for the runtime and 1.0.790 for the WebView control) so not sure why I get the exception. Any help/ideas?
This is the line of code I get the exception on:
webView.CoreWebView2.SetVirtualHostNameToFolderMapping("web.example","web",CoreWebView2HostResourceAccessKind.Allow);
This is the exception I get:
An unhandled exception of type 'System.NotImplementedException' occurred in Microsoft.Web.WebView2.Core.dll
Unable to cast to Microsoft.Web.WebView2.Core.Raw.ICoreWebView2_3.
This may happen if you are using an interface not supported by the version of the WebView2 Runtime you are using.
For instance, if you are using an experimental interface from an older SDK that has been modified or removed in a newer runtime.
Or, if you are using a public interface from a newer SDK that wasn't implemented in an older runtime.
SetVirtualHostNameToFolderMapping requires WebView2 Runtime version build 721 or newer. The feature is still in the prerelease SDK package and requires a recent canary channel Edge browser as your WebView2 Runtime.
Finding the version
You can see in the SetVirtualHostNameToFolderMapping docs the bottom of the page says it applies to SDK versions 1.0.721 and 1.0.790. And as the version doc notes, the WebView2 Runtime version that corresponds to an SDK version has a matching build number. So this new feature requires at least WebView2 Runtime version 89.0.721.0 or greater.
Prerelease vs release package
You are using the latest version of WebView2 Runtime which matches the stable channel of the Edge browser and the code for SetVirtualHostNameToFolderMapping hasn't made it to the stable channel yet. That's why its still only in our prerelease SDK package not the release SDK package. To try it out for now, you'll need to use the Edge browser canary channel as your WebView2 Runtime.

Is Driver exe for New Microsoft Chromium Edge Available?

Does anyone know whether Driver exe for New Microsoft Chromium Edge Available ?
If Yes, please share link.
Thanks.
Yes, it can be found here:
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads
It's version 75 but I've been testing it out and it works fine with Edge 76. Make sure that you have the correct Edge executable on your path depending on whether you have Dev or Canary.
Dev:
C:\Program Files (x86)\Microsoft\Edge Dev\Application\
Canary:
C:\Users\boni\AppData\Local\Microsoft\Edge SxS\Application\
There's a bit more info on my other answer:
I wouldn't recommend testing Canary, as it's unstable and it changes so fast, maintaining results will not be fun. I'm testing Dev and I'll switch to Beta when that's released.
Just a point regarding Dmitri's answer about market shares:
While accurate, they are global figures, so may be entirely irrelevant to what you're testing. If for example you're developing web applications for businesses, it's not unusual to find that the vast majority of your users are on IE or Edge, because companies have policies about only using Microsoft browsers. Sometimes this is about perceived security, but more often than not, it's about supporting legacy systems and documents, which can only be viewed in IE or chromium Edge's IE mode.
I would not go for automation till official release of the EdgeChromium-based browser from Microsoft, moreover looking into current browser market share I don't think you should be investing any efforts into it.
Chrome 61.75%
Safari 15.12%
Firefox 4.92%
UC Browser 4.22%
Opera 3.15%
IE 2.8%
Edge 2.15%
Others 5.89%
Just in case if you still want to assess the EdgeChromium automation the driver is available since 24th of April 2019 at normal Edge Driver downloads page
For example direct link for MS Edge 75 driver:
https://msedgecdn.azurewebsites.net/webdriver/index.html

Error installing SAP mobile platform SDK 3.0

I am trying to install SAP Mobile Platform SMP 3.0 and i got the following error
i searched and found out that the cause could be my 32-bit running windows. is is the reason ? and how can i solve it using a workaround or something ?
Have you gone through the Sybase documentation on SMP3.0 SDK?
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc01996.0301/doc/html/title.html
There are some restrictions on installing SMP components for 32-bit systems. Check the Product Availability Matrix on 'Mobile' (SAP S-number required) : https://websmp205.sap-ag.de/sap/support/pam
According to official SMP 3.0 installation link,
If User Account Control (UAC) is present in the version of Windows
where you are installing, disable it. Restart the system for this
change to take effect. Access the Control Panel option that manages
User Account Control on your version of Windows. Set the user account
to never be notified about changes to your computer. Reenable UAC
after completing this installation.
So try disabling the UAC before installation (assuming you are logged in as administrator for this installation)

Protractor Internet Explorer Slowness

I've been trying to get Internet Explorer 11 to run under Protractor to complete a suite of tests I have for an new AngularJS project.
I'm running under Windows 7 - 64 Bit and have downloaded and installed the Selenium IEDriverServer.exe for 64 Bit.
When I go to launch Protractor and run the scenarios, Internet Explorer comes up and navigates to the page just fine, but when the scenario sends keys to an input field it is extremely slow, like about 15 seconds between each key press. And Selenium is not showing any type of exception being thrown.
Has anyone seen this behavior before and found a solution?
Thanks
It's a known bug or "issue" (not a bug within the IEDriver however):
http://code.google.com/p/selenium/issues/detail?id=3072 (references IE10 but the point & solution is the same fundamentally)
It is explained in the Selenium issue tracker, but the workaround will be to use the 32bit version of the driver. Realistically you don't get "much" from using the explicit 64bit version.
I'd also say you may have further problems with IE11. Selenium doesn't support IE11 fully yet.
https://code.google.com/p/selenium/issues/detail?id=6437#c7 (among other issues)
You are probably, long term, better off downgrading to IE10 and using the 32bit driver.

Resources