如何在 Inno Setup 的状态消息中换行?

How to line break in StatusMsg in InnoSetup?

Filename: "{app}\program.exe"; Parameters: -d; \
  StatusMsg: "How to put line break after this sentence? This sentence should be on new line."; \
  Flags: runascurrentuser;

我尝试了 + #13#10 +%n 但它们没有用。

此代码有效:

Filename: "{app}\program.exe"; Parameters: -d; StatusMsg: "How to put line break after this sentence?%nThis sentence should be on new line."; Flags: runascurrentuser;

我添加了 %n 作为换行符号。 但请记住 - 您的应用程序 Program.exe 必须支持此符号并将其识别为新行(该符号正确地从 Inno Setup 传递)。

状态消息行只有一行(因此虽然您可以在消息中插入新行,但第二行不会显示)。

第二行保留文件名(安装文件时)。

您可以像这样滥用文件名行:

[Run]
Filename: "{app}\program.exe"; Parameters: "-d"; \
  StatusMsg: "How to put line break after this sentence?"; Flags: runascurrentuser; \
  BeforeInstall: SetFileName('This sentence should be on new line.'); \
  AfterInstall: SetFileName('')
[Code]

procedure SetFileName(FileName: string);
begin
  WizardForm.FilenameLabel.Caption := FileName;
end;


另一个(更复杂的)选项是暂时提高状态行(multi-line)。