I just upgraded to the latest FNC core and FNC UI pack versions (Delphi 12.1), and now my app is broken again - showing the old, familiar "Could not initialize edge chromium" at startup (it uses TMSFNCWebbrowser and FNC Maps) and throwing an exception when closing the app. It works fine on my Windows 11 dev computer, but fails for many other users with Windows 11 (it worked for them with previous versions of FNC). Several of them have tried manual reinstallation of Webview2 DLLs and runtime, without success.
Can you confirm that FNCwebbrowser etc. are supposed to work on Windows 11, without explicit installation of Webwiew2 DLLs/runtime?
Are there any known issues here?
Is there any hope that you will remove the dependency on Webview2 in the future? This is causing endless problems that never seem to get any better, extra bad for Windows 10 of course, but also Windows 11.
The runtime updates itself and requires updated DLLs from time to time, we do our best to deliver that as soon as possible, we can only hope Microsoft removes the requirement of DLLs.
Alternatively, you can always choose to install a fixed edge version and work with one time delivered DLLs instead of letting the runtime self-update. Here is an article that shows how to do this. There is a way to initialize the browser to point to a fixed version.
Thanks - although this whole thing is clearly unstable, am I right that it is supposed to work automatically under Windows 11, if I always distribute my app with the latest version of FNC, and the user has updated OS? No extra installation of DLL or runtime required at the client? (User installation of system files is often not possible because it requires admin rights).
Thanks yet again, only two more questions now! Is there any way to include the DLL as a static library in the app, so it doesn't need to be distributed explicitly? And: My app does not create the forms with the web browser and map on startup, only when selected in the menus. Still, the "Could not initialize edge chromium" message appears already when the app starts (and there is an exception when the app closes). Could the initialization of Webview2 (?) be delayed to when the web browser is actually started, to avoid this?
Thanks, that works (with FMX.TMSFNCWebBrowser.Win, not VCL). But there is still the problem with the app throwing an exception (access violation) when exiting, perhaps an issue with the FNCWebBrowser destructor, this only happens when Webview2 and the DLLs are not installed properly. So the app is still not robust to this very common situation. Is this a known bug?