在运行时更改消息/文本(Inno Setup)

koe*_*oen 4 inno-setup

在innosetup脚本中,可以定义如下消息:

[Messages]
WelcomeLabel2=This wizard will update [name] to version [name/ver]
Run Code Online (Sandbox Code Playgroud)

现在我想在运行时更改此消息,如下所示:

procedure InitializeWizard;
begin
    //this doesn't work        
    WelcomeLabel2=NEW MESSAGE 
end;
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?我想动态更改欢迎页面的内容,以显示安装程序是执行新安装还是更新.基于安装目录中是否存在某些可执行文件.

Ale*_* K. 6

单程;

[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl"

[CustomMessages]
en.WelcomeLabel2_ForInstall=intstall {#SetupSetting("AppName")}, {#SetupSetting("AppVersion")}
en.WelcomeLabel2_ForUpdate=update {#SetupSetting("AppName")} to {#SetupSetting("AppVersion")}

[code]
procedure InitializeWizard(); 
var
  message: string;
begin 
    //some logic
    message := 'WelcomeLabel2_ForUpdate';
    WizardForm.WelcomeLabel2.Caption := CustomMessage(message);
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  case CurPageID of
      wpFinished : WizardForm.FinishedLabel.Caption := 'bla bla';
  end;
end;
Run Code Online (Sandbox Code Playgroud)