Inno Setup RegKeyExists返回False,尽管key存在



有人能告诉我这段代码有什么问题吗?

[Code]
const
OldVersionRegKey = 'SOFTWAREMicrosoftWindowsCurrentVersionUninstall{#MyAppId}_is1';

var
HasOldVersion: Boolean;

function GetKey : Integer;
begin
if IsWin64 then
Result := HKLM64
else
Result := HKLM32;
end;

procedure CheckOldVersion;
begin
HasOldVersion := RegKeyExists(GetKey, OldVersionRegKey);
// ...
end;

,因为无论我做答案是False而存在的关键呢?

我已经尝试了一切,关键不在错误结果寄存器中,关键在错误结果寄存器中,在不同级别的数据库上,在32位数据库上,在64位数据库上,根据体系结构对两者进行测试(如当前代码),但无事可做,结果总是相同的。

提前感谢您的帮助。

关键路径的开头不应该有斜杠。查看RegKeyExists文档中的示例。

const
OldVersionRegKey = 'SOFTWAREMicrosoftWindowsCurrentVersionUninstall{#MyAppId}_is1';

当你不使用64位安装模式时,根密钥总是HKLM32

HasOldVersion := RegKeyExists(HKLM32, OldVersionRegKey);

或者,如果您希望脚本与64位安装模式兼容,请使用Is64BitInstallMode,而不是IsWin64

相关内容

  • 没有找到相关文章

最新更新