我在安装程序中添加了几个自定义页面.这些页面从用户和磁盘收集一些数据,我想在最终安装步骤开始之前向用户显示这些数据.Inno Setup完全为此目的准备了"准备安装"页面.
如何在此页面中添加文字?默认情况下,它显示给我:
Destination location:
C:\Program Files\MyProgram
Run Code Online (Sandbox Code Playgroud)
我想在这里附上一些文字.可能吗?
Pet*_*aný 22
发现它... http://www.innosetup.org/ishelp/topic_scriptevents.htm:
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;如果安装程序
UpdateReadyMemo在Pascal脚本中找到事件函数,则在" 准备安装"向导页面成为活动页面时会自动调用该函数.它应该将要在" 准备安装"向导页面上的设置备忘录中显示的文本作为单个字符串返回,其中行由NewLine参数分隔.参数Space包含带空格的字符串.安装程序使用此字符串缩进设置.其他参数包含安装程序将用作设置部分的(可能为空)字符串.MemoDirInfo例如,参数包含Selected Directory部分的字符串.
小智 12
更改以下代码:
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;
Run Code Online (Sandbox Code Playgroud)
您可以ReadyMemo WizardPage使用此功能挂钩到设置过程:
function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;如果安装程序
UpdateReadyMemo在 Pascal 脚本中找到事件函数,则当准备安装向导页面变为活动页面时,它会自动调用。它应该将要显示在准备安装向导页面上的设置备忘录中的文本作为单个字符串返回,各行由NewLine参数分隔。参数Space包含一个带空格的字符串。安装程序使用此字符串来缩进设置。其他参数包含安装程序将用作设置部分的(可能为空)字符串。MemoDirInfo例如,该参数包含所选目录部分的字符串。
官方文档:http : //www.innosetup.org/ishelp/topic_scriptevents.htm
这是一个简单的示例实现,它向 的默认内容添加一行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;
Run Code Online (Sandbox Code Playgroud)
供您参考:我尝试将此代码添加到已接受的答案中,但遭到拒绝,我被告知要写评论或新答案。
另外,如果您只想将现有消息更改为不太通用的消息,则可以在[消息]部分中进行更改:
即
[Messages]
ReadyMemoDir=Server location:
Run Code Online (Sandbox Code Playgroud)
默认消息是:
| 归档时间: |
|
| 查看次数: |
10073 次 |
| 最近记录: |