如何使用Inno Setup自动确定先前安装的路径

时间:2011-02-18 11:44:33

标签: inno-setup

我正在尝试创建一个修复先前安装的inno安装程序安装程序,但我无法强制安装程序确定我之前安装的路径。 我尝试使用inno的DefaultDirName={reg:HKxx\SubkeyName,ValueName|DefaultValue}功能,但我不确定将什么放在DefaultValue的位置。 我怎么能这样做?

编辑: 我也尝试了这一部分:

[Setup]
DefaultDirName={code:GetPathInstalled}
[Code]
function GetPathInstalled (Param: String): String;
var
  Country: String;
begin
  RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\JoWooD\Painkiller Resurrection', 'Install', Country); 
end;

但是当我运行安装程序时,路径为空。

1 个答案:

答案 0 :(得分:6)

您的代码应如下所示:

[Code]
function GetPathInstalled (Param: String): String;
var
  Country: String;
begin
  RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\JoWooD\Painkiller Resurrection', 'Install', Country); 
  Result:= Country;
end;

作为GetPathInstalled函数的结果,未返回RegQueryStringValue的返回值。