使用{AppVersion}作为Inno Setup中函数的参数

时间:2014-11-06 12:09:14

标签: inno-setup pascal ansi

所以我有一个更新某些XML的函数,我希望将在脚本的{AppVersion}部分中设置的[Setup]作为常量传递给此函数

我试过了

MyFunction(ExpandConstants({AppVersion})

但是这给了我一个错误?如何正确地将此常量传递给我的函数

我的代码

[Files]
Source: ".\Source\myfile.txt"; DestDir: "{app}\System"; AfterInstall: MyFunction('{#SetupSetting("AppVersion")}')

[Setup]
AppId=MyApp
AppName=My Application
AppVersion=011
DefaultDirName=C:\MyApp

[Code]
procedure MyFunction(Text: String);
begin
  MsgBox(Text, mbInformation, MB_OK);
end;

1 个答案:

答案 0 :(得分:10)

使用SetupSetting预处理器函数扩展[Setup]节指令值:

MyFunction('{#SetupSetting("AppVersion")}');

简短说明:

[Setup]
AppName=My Program
AppVersion=1.2.3.4
DefaultDirName={pf}\My Program

[Code]
procedure InitializeWizard;
begin
  MsgBox('AppVersion is: {#SetupSetting("AppVersion")}.', mbInformation, MB_OK);
end;