我使用Inno Setup创建了一个设置,并希望使用Pascal脚本查询注册表
if RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Classes\\Installer\UpgradeCodes\342603A924F08FA4B95B5C283FC13D13') then
我的设置为32位(我想安装的软件也是如此),但在64位系统上,查询被重定向到HKCR\Wow6432Node\\Installer\UpgradeCodes
当然,找不到钥匙,即使它在那里。即使我的设置仍为32位,如何检测密钥?
答案 0 :(得分:25)
我明白了。您可以在脚本中创建这样的辅助函数:
function GetHKLM: Integer;
begin
if IsWin64 then
Result := HKLM64
else
Result := HKLM32;
end;
然后你就像使用它一样:
RegQueryStringValue(
GetHKLM, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'XYZ', Variable);