Obtendo o número de série do Windows (era: Obtendo MachineGuid do Registro)

Estou tentando buscarMachineGuid a partir do registro, para criar algum nível de ligação com o sistema operacional para o meu sistema de licenças. Da documentação eu posso usar

string key = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography";
string r = (string)Registry.GetValue(key, "MachineGuid", (object)"default");

para obtê-la. Além disso, os documentos me dizem que eu recebo"default" quando o nome não é encontrado ounull se a chave não existe. Eu deveria obter uma exceção de segurança se eu não tiver acesso.

O código acima me dá"default", o que significa que o nome não é encontrado. No entanto, se eu olhar no registro com RegEdit, está lá. Como obtenho oMachineGuid valor de uma aplicação sem privilégios de administrador?

Atualizar: ao usarreg.exe Eu não tenho problemas em obter o valor.

Atualizar: Atualizei o título, para que as pessoas que procuram uma maneira exclusiva de determinar a instalação do Windows também cheguem aqui.

questionAnswers(3)

yourAnswerToTheQuestion