Add text to 'Ready Page' in Inno Setup
You can hook into the setup process of the ReadyMemo
WizardPage
using this function:
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
If Setup finds the
UpdateReadyMemo
event function in the Pascal script, it is called automatically when the Ready to Install wizard page becomes the active page. It should return the text to be displayed in the settings memo on the Ready to Install wizard page as a single string with lines separated by theNewLine
parameter. ParameterSpace
contains a string with spaces. Setup uses this string to indent settings. The other parameters contain the (possibly empty) strings that Setup would have used as the setting sections. TheMemoDirInfo
parameter for example contains the string for the Selected Directory section.
Official docs at: http://www.innosetup.org/ishelp/topic_scriptevents.htm
Here is a simple example implementation that adds a single line to the default content of the ReadyMemo
:
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
begin
Result := ''
if MemoUserInfoInfo <> '' then begin
Result := MemoUserInfoInfo + Newline + NewLine;
end;
if MemoDirInfo <> '' then begin
Result := Result + MemoDirInfo + Newline + NewLine;
end;
if MemoTypeInfo <> '' then begin
Result := Result + MemoTypeInfo + Newline + NewLine;
end;
if MemoComponentsInfo <> '' then begin
Result := Result + MemoComponentsInfo + Newline + NewLine;
end;
if MemoGroupInfo <> '' then begin
Result := Result + MemoGroupInfo + Newline + NewLine;
end;
if MemoTasksInfo <> '' then begin
Result := Result + MemoTasksInfo + Newline + NewLine;
end;
Result := Result + 'My custom string';
end;
For your information: I tried adding this code to the accepted answer, but it got declined and I was told to write a comment or a new answer.
Found it ... https://jrsoftware.org/ishelp/index.php?topic=scriptevents:
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
If Setup finds the
UpdateReadyMemo
event function in the Pascal script, it is called automatically when the Ready to Install wizard page becomes the active page. It should return the text to be displayed in the settings memo on the Ready to Install wizard page as a single string with lines separated by theNewLine
parameter. ParameterSpace
contains a string with spaces. Setup uses this string to indent settings. The other parameters contain the (possibly empty) strings that Setup would have used as the setting sections. TheMemoDirInfo
parameter for example contains the string for the Selected Directory section.
Alter the following code:
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpReady then
begin
Wizardform.ReadyMemo.Lines.Add(''); { Empty string }
Wizardform.ReadyMemo.Lines.Add('Setup HP-UX test created by Armand');
end;
end;
Also, if you just want to change the pre-existing messages to something less generic, you can change them in your [Messages] section:
i.e.
[Messages]
ReadyMemoDir=Server location:
The default messages are:
- WizardReady
- ReadyLabel1
- ReadyLabel2a
- ReadyLabel2b
- ReadyMemoUserInfo
- ReadyMemoDir
- ReadyMemoType
- ReadyMemoComponents
- ReadyMemoGroup
- ReadyMemoTasks