title: How to store a time zone preference under Windows XP AND Vista
body: <p>Between Windows XP and Vista (and server 2003 and 2008) Microsoft have removed the <code>Index</code> key from <code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones</code> and guess which value we store in our database to record an employee's time zone...</p>
  
  <p>(See <a href="http://support.microsoft.com/kb/935369" rel="nofollow noreferrer">http://support.microsoft.com/kb/935369</a>).</p>
  
  <p>What is the best value to use instead? Microsoft seem to advocate using the name of the registry key for the time zone in question (like <code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\GMT Standard Time</code>) but that feels like magic constants to me.</p>
  
  <p>Is there a value that is guaranteed to be unique and fixed across Windows versions, cultures, translations and localisations?</p>