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

use*_*er1 5 pascal inno-setup ansi

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

我试过了

MyFunction(ExpandConstants({AppVersion})
Run Code Online (Sandbox Code Playgroud)

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

我的守则

[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;
Run Code Online (Sandbox Code Playgroud)

TLa*_*ama 11

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

MyFunction('{#SetupSetting("AppVersion")}');
Run Code Online (Sandbox Code Playgroud)

一个简短的证据:

[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;
Run Code Online (Sandbox Code Playgroud)