1

I am trying to read the Machine GUID from the Windows registry using Inno setup pascal scripting function RegQueryStringValue. The registry key I am after is HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid

procedure StoreHwID();
    var
    HwId: String;

begin
   RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Cryptography','MachineGuid', HwId);
   MsgBox('Value is "' + HwId + '"', mbInformation, MB_OK);
end;

This fails to set a value in the HwId variable.

What am I missing?

4

1 に答える 1

4

InnoSetupは32ビットプロセスです。64ビットOSで実行している場合は、HKEY_LOCAL_MACHINE_64ではなくを使用して64ビットレジストリを指定する必要がありますHKEY_LOCAL_MACHINERegQueryStringValue2回の呼び出しが必要になる場合があります。1つは64ビット用、もう1つは32ビット用です。

于 2013-02-06T22:08:00.373 に答える