Использование встроенных сообщений в программе установки Inno


Как я могу использовать встроенное сообщение в настройке Inno?

В "Default.isl "есть сообщение "FullInstallation", которое я хотел бы использовать в своем сценарии установки Inno. Поэтому это сообщение уже переведено на все языки, которые поддерживает программа установки Inno. Это избавило бы меня от необходимости самому делать переводы для этого текста.

Я вижу, что " дефолт.isl "имеет раздел [CustomMessages], и я могу использовать их, используя (например) {cm:CreateDesktopIcon} (так как "CreateDesktopIcon" существует как пользовательский Сообщение).

Как использовать одно из других сообщений, не перечисленных в разделе [CustomMessages]?

1 3

1 ответ:

Насколько я знаю, нет {cm:...} как константа, с помощью которой можно расширить a [Messages] вход. Если я прав, то это зависит от того, где вы хотите использовать такую константу. Если это в части сценариев, то вам нужно будет использовать scripted constant с добытчиком, называющим SetupMessage функция, с помощью которой можно развернуть эти встроенные сообщения для выбранного языка с помощью констант, перечисленных в this file.

Как вы можете заметить, каждое сообщение постоянно имеет только префикс msg [Messages] запись из языкового файла.

Например, чтобы развернуть сообщение WizardPreparing в Description значение для записи раздела [Run] можно расширить константу msgWizardPreparing следующим образом:

[Run]
Filename: "MyProg.exe"; Description: "{code:GetDescription}"

[Code]
function GetDescription(Value: string): string;
begin
  Result := SetupMessage(msgWizardPreparing);
end;

В разделе [Code] ситуация, естественно, проще, так как SetupMessage функцию вы можете использовать непосредственно там. Так, например, чтобы показать окно сообщения с развернутым сообщением CannotContinue, необходимо развернуть константу msgCannotContinue. просто так:

[Code]
procedure InitializeWizard;
var
  S: string;
begin
  S := SetupMessage(msgCannotContinue);
  MsgBox(S, mbInformation, MB_OK);
end;