-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When will the WebView2 control be included with the default version of Edge? #348
Comments
Hey @ftppro - You might want to look at the WebView2 Runtime Installer and see if that suits your needs better: https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#understand-the-webview2-runtime-and-installer-preview Another option if your current users are willing to download Edge, is they can use the Dev or Beta channels as well, which update on a weekly and 6-week cadence. You just have to be careful of your SDK versioning, as these channel build versions are older than canary. |
The WebView2 Runtime Installer is 88MB, so that is not feasible. I also don't want to worry about strange things that can happen during the installation of such a large file. I would rather have the user perform the installation from a Microsoft website. What is the projected date that the WebView2 control will be included with the default version of Edge? Which version of the WebView2 control is currently in the Beta Channel (and how can I see that info)? If the WebView2 control works with the Beta Channel (the "most stable" channel), then why does all the documentation insist that the Canary Channel is a "prerequisite", even though the Canary Channel is the least stable? |
We will also expose a small bootstrapper. That would be a few MBs instead of the full 80MBs and will grab the WebView2 Runtime through internet connection when invoked.
We don't have any plan yet to include WebView with Edge Stable. This thread has the details.
Versioning is hopefully helpful.
WebView2 Runtime will be the most stable channel once we GA. During preview, our guides recommend the Canary channel because we usually ship SDKs when they only work with Canary. It takes some time for the same support to go from Canary to Dev/Beta/WebView2 Runtime. |
I don't want to use the Runtime, since it has too much potential for problems. Until WebView2 works with the current version of Edge, I would rather require that users install one of the Channels from the Microsoft website.
|
|
I'd love to understand your concern here. Is this about that the Runtime is new and a relatively unknown entity, or that it requires you do perform extra packaging and installation? The Runtime in many ways is just Edge Stable with a little modification and the platform is more stable and robust than Beta. If latter is the core concern, it might be better to ask end users to download the runtime instead of Edge Beta since Beta will be less tested than Runtime. Other questions are as @champnic mentioned. |
|
|
When will the current Beta version become Edge Stable? |
No - we don't support the Edge Stable channel at all. Some reason why are described here: #341 (comment) We hope to be available on most machines in the future, which Limin describes here: |
Isn't the Beta Channel the next version that will become Edge Stable? If the Beta Channel allows the usage of WebView2 v.0.9.515-prerelease, then wouldn't Edge Stable also allow that usage when it is copied from the Beta Channel? |
I was previously told that WebView2 v.0.9.538-prerelease will not work with the Beta Channel. |
When using an SDK with any channel, you need to make sure that the SDK version is not ahead of the current channel version:
Whether things will work or not depends on how much change happened to our COM interface definitions. For example, your 538 SDK code may be thinking it's calling a function in the WebView dlls, but in actuality it's calling a different function because a difference in the interfaces is causing a mismatch. In this instances, sometimes stuff just works, sometimes stuff breaks or behaves slightly weird, and sometimes stuff crashes. For the question about stablechannel, it's not a matter of whether it would theoretically work or be compatible - our code explicitly disallows using the stable build. Right now the runtime is in preview, but when it GAs it will be based on the stable channel and be the recommended and most stable WebView2 experience, and the one we recommend for end-users. Part of the problem right now is that none of our controls have GA'd, and we don't recommend shipping to end-users at all yet. Here's some info on distributing apps with WebView2: https://docs.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution |
This page shows that WebView2/0.9.538 was last updated 2 months ago: This page shows that the Beta Channel is updated every 6 weeks: Therefore, can I assume that the Beta Channel will "catch up" to WebView2 0.9.538, and be compatible with it in the next several weeks? Also, please answer these questions:
I am not interested in having my app install the Runtime component, so please don't answer my questions by suggesting that is what I should do. |
No worries, you can use Beta, I just want to make sure you understand the versioning restrictions with the SDK. It looks like the next Beta, which will have version 564 and be compatible with SDK 538 and 538-prerelease, is slated to ship within the next week. The current Beta (522) became Stable (522) about a week ago.
We are revisiting this policy of not allowing Stable, but I can't make any promises. We are certainly taking your feedback into account here, and I understand your frustration at not being able to use the Stable channel. |
1 Which webpage shows the current version of the Beta Channel? |
|
When I display the Help/About on the version of Beta that I just installed, it shows version 84.0.522.39. |
Sorry, the full version of the next Beta will be something like 85.0.564.n, and will be compatible with SDK 0.9.538. The important part when working with WebView2 SDKs is the 564, as that Edge/Runtime version needs to be greater than the SDK version to be compatible. For example: Beta will automatically update to that version, and when it does (in about a week), you will see the version number update in Help/About. |
Edge Beta is now version 85.0.564.18, which means I can safely use WebView2 v.0.9.538-prerelease in my app without requiring Canary, right? |
Yup, they can use Beta! In the meantime, we're looking at a potential option that would lessen the burden on app developers and not require you to ship an installer. Instead, we would have the loader (webview2loader.dll - no extra work on your part), which you are already shipping in your app:
Do you think this would help your situation? Would it solve your situation? One benefit is that this would allow you to run your app in places where there is no Edge Stable currently installed. One drawback is having to have the users accept the install when they first use your app. (Note: This would only affect the first WebView app on the machine - once the Runtime is installed once all WebView apps would be able to use it) |
That seems to have more potential problems than just asking the user to install Edge Beta from the Microsoft website.. |
Can you expand on what potential problems you'll think we'll run into? |
It's an issue of liability. If my app downloads and runs the runtime installer, I have more liability than if I require that the user installs Edge Beta from the Microsoft website. Particularly because Edge Beta is shown as "the most stable Microsoft Edge preview experience." |
Ah, gotcha. For WebView2 apps, the runtime will be the most tested and most stable solution. The runtime is based on the Edge Stable channel (which itself is more stable than Beta). There is very very little differentiating the runtime from the Edge Stable build. However, it's possible that there's a version of Edge Stable that gets shipped with a bug that affects WebView. The Edge team is unlikely to block releasing Edge Stable because of a bug that only affects the WebView, meaning that when Edge Stable gets released, any WebView apps relying on it would break in some way. The runtime gives us the ability to say "This version of Edge Stable is breaking a lot of WebView apps, so let's not release a runtime version of it.", avoiding the breaking bug. |
I released two apps that use the WebView2 control, and a unanimous consensus indicated that very few people will install Edge Beta just to use an app. For the reasons that I described in my previous replies to this post, I absolutely do not want to have my app install a runtime installer, so please do not reply with that suggestion again. I read the reasons that Microsoft has not added WebView2 functionality in Edge Stable, and those reasons make no sense. It is a shame that the WebView2 control cannot be used for a production app, and its only purpose at this time is for experimentation. |
🤦♂️ |
@ftppro The WebBrowser control is not obsolete, it still has many uses to display user content. MS does have a roadmap for supporting WebView2, but it's currently pre-release so of course it's not part of any stable release. |
I am okay with WebView2 connecting to the runtime IF Microsoft pushes the runtime out to Windows 8 and 10 via Windows update. I'd prefer to not bundle the WebView2 runtime installer with my apps just to display web content. They aren't concerned with pushing Edge Chromium via Windows Update, so I can't see why they wouldn't just do that with the runtime too. Otherwise the loader should connect to whatever it can find... the runtime first... Edge Stable second, then beta, then canary (unless otherwise specified in the app). Leaving Edge stable out of the list of things it can connect to is just nutty, but if they insist on doing that they had better push the runtime via Windows update and not make us distribute it with our apps. |
@dbsoft Let me know if you can think of any reason that MS will not simply copy the feature from Edge Beta to Edge Stable, other than the restraints of an existing legal agreement. The only reason I described why the Runtime is a bad idea is because otherwise, the MS rep will jump into this discussion and distract from the issue at hand by trying to convince everyone to become dependent on the Runtime (which he has done several times before). As to whether these posts are helpful: I created this topic thread. If enough people are annoyed that MS will not simply copy the feature from Edge Beta to Edge Stable, then MS may realize that this may become a public relations issue, which may compel them to simply copy the feature from Edge Beta to Edge Stable. The squeaky wheel gets the grease. I am able to use WebView2 on my computer, because I installed Edge Beta. In addition to other applications that I have created with Webview2 , I am able to use the rendered HTML from BetOnline to create reports for the online poker games that I play there. Unfortunately, it is not feasible to require end-users to install Edge Beta, so it is not practical to release a program that uses WebView2. |
It would be nice if Webview2 was in the box but the only way to guarantee it will be there is to install it and MS has given us a way to do that. I just added the MicrosoftWebview2Setup.exe to my installer and zipped it for a customer to test. |
I'm sorry, but this has been the most ridiculously over complicated release of a control that I've ever seen. I know this will sound harsh, but I'm fed up with having waited so long for the replacement for the ancient IE-based WebBrowser control, only to find that after GA I still can't use WebView2 (without all sorts of complicated or unacceptable workarounds). And on top of all that, a decision has been made to deliberately block users from being able to use the already installed stable version of Edge. Yes, I know you have your reasons, but many of us simply don't agree with that decision. We're the people wanting to use your control, but we can't. I agree with so many of the comments that developers wanting to use WebView2 in their applications have made in this thread, but I don't have time to call them all out individually. You should have started with a SIMPLE replacement control for the horrendously ancient IE-based WebBrowser control that Visual Studio currently supplies (in VS 2019!!!) and for the deprecated WebView(1) control. That would have at least allowed developers to move forward. Then you could have interated on it to address all of the other scenarios. But instead of unblocking developers, you've tried to accommodate every single possible problem up front, leaving many developers high and dry. Even if it meant some temporary duplication of Edge code to achieve that, it would have at least allowed developers to continue to be productive. Instead, all of the onus has been placed on developers to use complicated or unacceptable methods to try to be able to use the WebView2 control. I don't think that's what Satya Nadella had in mind when he said that Microsoft wants to make ALL developers more productive. I really don't think you guys have been truly listening. Many developers just want a simple, modern control to display modern websites that won't render properly with the currently available control(s). On top of that extension developers need a modern control that is able to be used in their extensions to display modern websites, or even the simplest of web/xml content, without having to resort to manual fiddling about or installing external runtimes. The last time I tried, the WebView2 control still doesn't work in an extension! A simple, modern control able to be used out of the box in Visual Studio for C# WPF applications and extensions, is that such an unreasonable request? We could have had that a year ago! |
@yannduran What's really sad is that the WebView2 control still does not even work correctly, more than 6 months after it was released.
I have reported these bugs, with fairly laughable responses from the MS techs. One MS tech insisted that a programmer should never use Application.DoEvents(). My programs have relied upon the usage of "DoEvents()" for more than 25 years (since VB6), with no problems whatsoever. The fact that this one poorly created control doesn't support the usage of "DoEvents()" will certainly not stop my usage of it. I am spending my time to report these deficiencies in the hope that Microsoft will allocate more resources (i.e. more money) to development, instead of to marketing. |
Please don't use Application.DoEvents() to wait, have a look at the processor load while in that loop. |
Is it possible that you all head to other issues (or create them) on this repository and keep this issue on topic please? I'm trying to follow along here on the topic of deployment details of the WebView2 runtime. Thanks! |
Guess it is time to start the ugly hacks... |
@dbsoft What hacks do you mean? |
@ukandrewc I decided that I would figure out some way to force it to load the webview2 included with Edge Stable if they hadn't given us a roadmap for pushing out the runtime, or changed their policy on allowing the loader to use the Edge stable channel that has already been pushed out. Aiming for a January release of my library so going to work on it now... I'll post a link to my code once I get it working in case anyone else wants to use it. |
@dbsoft Read the recent comments from Microsoft employees, who feel there is no reason to allow the WebView2 control to work with Chrome stable: #341 They wouldn't lead us astray, would they? Internet Explorer is the only browser that is compatible with Visual Studio, so Internet Explorer must be a lot better than Chrome, right? The old Webview control works great with Internet Explorer, so what's the problem? If your program must be compatible with Chrome, then just require that all your users pay for an Office 365 subscription, which supposedly will be compatible with WebView2. That seems reasonable, doesn't it? |
@dbsoft Thanks, I see what you mean. Does the fixed version, not work for you? |
@ukandrewc No it doesn't, for a variety of reasons which I had posted about in October. There are a few other reasons I didn't even include in that list, like its use in a self-extracting installer to display content pre-install (release notes, licensing information etc). |
First attempt at it in C/C++ which may only work in recent versions of Windows 10. May commit changes to work on earlier versions in the coming days, but since there is no official CreateJunction() API... might be a bit messy. http://trac.netlabs.org/dwindows/changeset/2232 |
@dbsoft Am I correct in assuming this requires administrator permissions to create the link? |
@nmoinvaz It does not seem to require administrator permissions. It functioned even with a standard non-administrator user. But I did have to switch to using a different registry key to check the version since BLBeacon does not seem to be updated immediately after an Edge update. http://trac.netlabs.org/dwindows/changeset/2233 I had to add a second registry key check and path construction option for 32bit. http://trac.netlabs.org/dwindows/changeset/2234 but this seems to be working for me on every 32bit and 64bit version I've tried from Windows 7 to 10. |
To me the biggest problem with this fiasco, is the fact that windows installer under VS19 there is no checkbox to include Edge Runtime in the prerequisites. This is beyond stupid and complicate things so much for no reason at all. Now that it's GA, what does that even mean ? |
The squeaky wheel gets the grease: |
Until unless webview2 suported In stable version, no point of using it. Still I am not getting why we need to do the circus of installing runtime. |
here's to all the squeaky wheels! So does this bit on the Downline page: ... no longer apply? Or is the project still frozen for now? |
@jasonbrown1965 Huh, good question. I haven't really heard of a big, official announcement with regards to Webview2 being available on up-to-date Windows 10 machines. However, judging from articles like this one, it seems like it's getting shipped. If someone could confirm that this is indeed the case, then that's amazing! I could finally continue working on Downline without worrying as much about users having troubles installing it. |
@jasonbrown1965 WebView2 has been shipping inbox with Windows 11 since that was released. Sounds like it no longer needs to be on ice unless they also want WebView2 on every possible machine they can run on? @stefnotch Yes - WebView2 is beginning rollout to Windows 10 machines. Here's the official announcement: https://blogs.windows.com/msedgedev/2022/06/27/delivering-the-microsoft-edge-webview2-runtime-to-windows-10-consumers/ :) |
We have completed the rollout of WebView2 to Windows 10 machines including on most enterprise environments. |
Many people are reluctant to download the Canary Channel, because the download page states that it is "Updated daily".
Until the WebView2 control is included with the version of Edge that is automatically updated by Windows Update, it will be difficult to convince people to download the Canary Channel, which is currently a requirement.
When will the WebView2 control be included with the default version of Edge, so developers won't have to convince people to download the Canary Channel?
AB#29028418
The text was updated successfully, but these errors were encountered: