Missing International Setting Registry Key?

Some Zune users ran into a strange problem http://forums.zune.net/2/3/518796/ShowPost.aspx and it seems like the Nation Value in HKEY_CURRENT_USERControl PanelInternationalGeo isn't there on some Windows XP machines.  That seems really wierd to me because if the International key is missing I'd expect odd behavior from the machine.  We get the user locale from there, so that's not particularly good.  For Zune it seems like the missing key causes a log-on problem with a "Zune can't sign in: this functionality is not available in your Region" because GetUserGeoId() ended up failing.

Anyway, odd user problems because of a missing HKEY_CURRENT_USERControl PanelInternational key can be fixed by adding HKEY_CURRENT_USERControl PanelInternationalGeo through regedit.  (Or if it's a permissions problem, delete the key and readd it).  Of course editing the registry can mess up your machine and all that.  If you run the Regional and Language Options Control Panel you can reset your settings to the correct values and apply (I usually change to something else and them back to make sure it sees a change).

How did the key get missing anyway?  That's a really good question, if you know please tell me!  In at least one case it seems the OEM image may not have had the key, which is kind of bizarre.  Maybe the out-of-box-experience got skipped or something.  (The one that asks you where you live).  Maybe a registry "cleaner" mangled the key or maybe something else did.  We've seen cases where an enterprise installation messes with these keys, but usually those are pretty rare.  Generally it is not a good idea to change these keys yourself, intl.cpl provides a way to change it, and it supports xml config files too: http://blogs.msdn.com/shawnste/archive/2007/04/12/configuring-international-settings-from-the-command-line.aspx  In the future we'd like to remove our dependency on some of the stuff in this key, so don't be suprised if it changes in future versions.

- Shawn