在innosetup脚本中,可以定义如下消息:
[Messages]
WelcomeLabel2=This wizard will update [name] to version [name/ver]
现在我想在运行时更改此消息,如下所示:
procedure InitializeWizard;
begin
//this doesn't work
WelcomeLabel2=NEW MESSAGE
end;
这样做的正确方法是什么?我想动态更改欢迎页面的内容,以显示安装程序是执行新安装还是更新。基于安装目录中是否存在某些可执行文件。
答案 0 :(得分:5)
单向;
[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;
答案 1 :(得分:0)
可以在我的回答here中找到将新页面集成到流程中的示例。