The locale of the application changes from en-GB to en-US when the assemblies are referenced after upgrade from MapXtreme 7.2 to 8.0

Products affected: MapXtreme .NET

Issue

The locale of the application changes from en-GB to en-US when the assemblies are referenced after upgrade from MapXtreme 7.2 to 8.0.

Cause

This is a known issue with MapXtreme 8.0. It will be fixed in a future patch under MXT-7916.

Resolution

UPDATED: April 7, 2020
This was fixed in the MapXtreme 8.1 release.

If you are using version 8 or earlier then there were two workarounds to this issue:

Add a key-value pair in the application's configuration (App.config) file where key = "MapInfo.Engine.Session.LanguagePreference" and value = "2057" (locale-id for en-GB).
<add key="MapInfo.Engine.Session.LanguagePreference" value="2057"/> 

OR

Locale can be overriden by setting the Thread.CurrentThread.CurrentCulture property at a later point, for example, in the Desktop Tools application, it can be overriden to en-GB by adding the following code after InitializeComponent() call in DesktopTools.cs:

public MapForm1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
int lcID = 2057; // English (United Kingdom) - en-GB
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(lcID);
.....................
.....................
}