Thursday, August 02, 2007

Culture name 'az-az-latn' is not supported.

Check out the list of cultures that the .Net Framework supports, and you'll see that there is no entry for "az-az-latn", and unless you've got this culture string saved somewhere you might be wondering where it's coming from. Well, look in the text above the list on the same page and you'll come across this little gem:

On Windows Vista and later, a culture name including a script can be rendered using the pattern --. An example of this type of culture name is uz-Cyrl-UZ for Uzbek (Uzbekistan, Cyrillic). On pre-Windows Vista operating systems, a culture name including a script is rendered using the pattern --, for example, uz-UZ-Cyrl for Uzbek (Uzbekistan, Cyrillic)

So following this pattern "az-az-latn" is an example of a culture name including a script on a pre-Windows Vista operating system. As we don't run Vista on any of our machines we found it a little puzzling that this error should be being thrown: we have a pre-Vista OS using pre-Vista culture names.

Then we realised that a number of updates had recently been applied, one of which was for the .Net Framework. By the looks of it, this .Net Framework update has changed the style of culture names to be the same as the ones on Vista. Our assembly had old culture names cached, so simply restarting after the update cures the problem.

No comments: