Использование встроенных сообщений в программе установки Inno
Как я могу использовать встроенное сообщение в настройке Inno?
В "Default.isl "есть сообщение "FullInstallation", которое я хотел бы использовать в своем сценарии установки Inno. Поэтому это сообщение уже переведено на все языки, которые поддерживает программа установки Inno. Это избавило бы меня от необходимости самому делать переводы для этого текста.
Я вижу, что " дефолт.isl "имеет раздел [CustomMessages]
, и я могу использовать их, используя (например) {cm:CreateDesktopIcon}
(так как "CreateDesktopIcon" существует как пользовательский Сообщение).
Как использовать одно из других сообщений, не перечисленных в разделе [CustomMessages]
?
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;