Checking Edge and FNC Maps compatibility

We have an application using FNC Maps that operates off-line (TTMSFNCOpenLayers) with a map tile server. When we issue software updates that may have used an updated FNC Maps component in their compilation, minimum Edge version requirements may have changed.

How can I programatically determine the minimum Edge version that is needed for a particular version release of FNC Maps components? This would be needed to "gracefully" inform the user that they need to go on-line and update their Edge installation (or not use our latest software release.)

There is no hard link between maps & edge chromium version. When everything is offline, both the browser, the maps and the DLLs will run stable. If you want to push an update to your clients, I suggest to include the DLLs (available in the installation directory), and require an update of the edge chromium browser. We always test here with the latest version of edge chromium. If something is not functioning properly after the release, we typically check if there is a need for an update of the DLLs, or if something is wrong with the edge chromium version and immediately release an update mentioning this in the version history. Right now, the browser is running stable for quite a while now. Sometimes for accessing the latest APIs, there is a need for new DLLs, but older DLLs are also working if the browser is not accessing the APIs directly.

Thanks - we'll keep an eye on that.

To confirm: We'll make sure that the files "WebView2Loader_x86.dll" and "WebView2Loader_x64.dll" (from the latest FNC Core installation) are bundled with our installation and installed to the Windows system folder. (We use "{sys}" in Inno Setup.)

'WebView2Loader.dll" is an older file and no longer used?

WebView2Loader.dll is coming from the default edge TWebBrowser I suppose. If you bundle the DLLs and put them in the correct system folder (System32 for 64 bit DLLs and SysWow64 for 32 bit DLLs on a 64 bit operating system), then the maps should run without errors as long as the edge webview runtime is installed.

I'd like to take this a little bit further. I need to be absolutely sure that we are not encountering incompatibilities with off-line systems.

I had the following situation: My software (with off-line FNC Maps and a local maptile server) was running fine on a Windows10 laptop. Installation was in January 2022, and the laptop was isolated from internet connections. Over the next 6 months, I would keep my development environment FNC Maps+Core up to date with the latest releases from TMS. In ~August 2022 I released and installed a new version of the software on the laptop. The software would now crash occasionally. I then connected the laptop to the internet. After a Windows update (Evergreen?), there were no problems with running of the new software. (Unfortunately, I do not have a record of WebView2 Runtime or exact FNC Maps/Core releases for Jan 2022/August2022.)

@Pieter_Scheldeman, talking about your tests above you say "If something is not functioning properly after the release, we typically check if there is a need for an update of the DLLs, or if something is wrong with the edge chromium version and immediately release an update mentioning this in the version history. Right now, the browser is running stable for quite a while now. Sometimes for accessing the latest APIs, there is a need for new DLLs...."

I can programatically determine the current version of WebView2 Runtime. Now I need to know the minimum, safe version of WebView2 Runtime that I can use in conjunction with any release of FNC Maps+Core (which TMS has obviously tested). And, how can I find out that minimum, safe version programatically?

(And do you think that my hypothesis of an incompatibility between a newer FNS Maps+Core with an older WebView2 Runtime may be plausible?)

When releasing an update, we automatically target the actual current version of Edge Chromium. Also the self-updating ones. when there is a major update, DLLs need to be updated. If you are running it offline and are running into issues, that might be because the DLLs you are using are newer DLLs which are used against older version of Edge Chromium. Currently, it's hard to determine a minimum version. Edge Chromium is constantly evolving. We are also adding new APIs which require an update. Sometimes, APIs don't require an update of the browser, but they are backwards compatible, sometimes they are not.

What I would do is this: If there is an update of TMS FNC Maps you want to target and integrate in your application, the requirements will be to update the edge chromium runtime and the DLLs at the time of the release, that's the minimum version. If you do this, you should be safe that once updated, the offline machine will run stable. If you have software running on a machine with self-updating edge chromium (with internet connection), then we are hotfixing critical issues in less than 24 hours. If there are issues, contact us for an immediate fix in the form of an incremental source update. But that hasn't happened in quite some time.

Thanks, Pieter.

For an off-line PC, I'm assuming that what you mean by the above is to bundle the Fixed Version of the WebView2 Runtimes with our application, as detailed at

The fixed version is a hardcoded path, it's currently not possible to target a fixed version unless you change the source code