Проблема в том, что вы пытаетесь создать ключ, а не читать его. Вы должны уметь читать значения из HKLM в Vista, если вы используете соответствующий API.
RegistryKey myKey = Registry.LocalMachine.OpenSubKey(
@"Software\MyCompany\MyAppName",
false);
Обратите внимание на ложный параметр в приведенном выше. Это приводит к открытию ключа в режиме только для чтения. Это настройка по умолчанию для OpenSubKey, но я предпочитаю быть явным (в основном потому, что не могу вспомнить значение по умолчанию).