在innosetup中使用以下函数定位到注册SketchUp 在我的机器中我安装了 SketchUp 2024 在注册表中有默认键 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\SketchUp\SketchUp 2024\InstallLocation
但是 SketchUpPath 没有返回任何内容 我做错了什么?
function IsSketchUpInstalled: Boolean;
var
SketchUpPath: string;
Year: Integer;
begin
Result := False;
for Year := 2010 to 2030 do
begin
if RegQueryStringValue(HKLM, 'SOFTWARE\SketchUp\SketchUp '+IntToStr(Year)+'\InstallLocation', '', SketchUpPath) then
begin
Result := True;
Break;
end;
end;
end;
好的,我找到了解决方案
我使用 HKLM64 而不是 HKLM,所以函数变成这样并且工作得很好。
function IsSketchUpInstalled: Boolean;
var
SketchUpPath: string;
Year: Integer;
begin
Result := False;
for Year := 2010 to 2030 do
begin
if RegQueryStringValue(HKLM64, 'SOFTWARE\SketchUp\SketchUp '+IntToStr(Year)+'\InstallLocation', '', SketchUpPath) then
begin
Result := True;
Break;
end;
end;
end;