Inno setup Inno设置-显示警告页面

Inno setup Inno设置-显示警告页面,inno-setup,Inno Setup,我正在使用Inno Script Studio构建一个安装程序,到目前为止非常成功,因为Inno安装程序是一个很棒的软件包 但是,我想添加一个警告页面,当用户取消选中一项重要任务时会显示该页面。我想这只是一个简单的检查。在谷歌搜索之后,我意识到这需要一些Pascal脚本——不幸的是,我不知道这些(下面的证据) 毫不奇怪,这不起作用 以下是要求: 默认情况下,将选中重要任务 如果未选中重要任务,则显示带有风险确认复选框的警告页面 如果取消选中风险确认复选框,则禁用下一步按钮 我不想以一个大的

我正在使用Inno Script Studio构建一个安装程序,到目前为止非常成功,因为Inno安装程序是一个很棒的软件包

但是,我想添加一个警告页面,当用户取消选中一项重要任务时会显示该页面。我想这只是一个简单的检查。在谷歌搜索之后,我意识到这需要一些Pascal脚本——不幸的是,我不知道这些(下面的证据)

毫不奇怪,这不起作用


以下是要求:

  • 默认情况下,将选中重要任务
  • 如果未选中重要任务,则显示带有风险确认复选框的警告页面
  • 如果取消选中风险确认复选框,则禁用下一步按钮
我不想以一个大的[代码]部分结束,但可能没有其他选择。

提前感谢您的帮助。

请使用msgbox的向导页面。Msgbox特别用于向用户提供任何指示(信息、警告等)。
此脚本根据您的要求工作

[Setup]
AppName=MySetup 
AppVersion=1.5
DefaultDirName={pf}\MySetup 
[Tasks]
Name: "ImportantTask"; Description: "This task should be selected"; GroupDescription: "Important tasks";
[Code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
  Result := True;
  if (CurPageID = wpSelectTasks) and not IsTaskSelected('ImportantTask') then
    Result := Msgbox('You have not selected the ImportantTask option.' + #13#10 + 
      'Are you sure you want to continue ?', mbInformation, MB_YESNO) = IDYES;
end;

感谢特拉玛…

谢谢太好了。使用消息框也是个好主意,因为这是一种吸引用户注意力的可靠方法。我修改了您的代码,使其具有
else结果:=True
如果
CurPageID
不是
wpSelectTasks
,因为我的设置文件中还有一些其他页面。下面是。没有什么值得注意的。对于结果,不需要太多的
if
条件,它的计算结果总是为True。只需在方法开始时将其设置为True。我猜当用户用
IDNO
回答对话框时,您希望留在页面上,但该对话框不在这里。并且
IsTaskSelected
功能的使用是正确的。您不应该依赖固定索引。最后,换行符是
#13#10
,而不仅仅是
#13
-)@TLama非常感谢您给出这么好的解释……我已经看到了您的两种代码方法……第二种方法非常令人印象深刻。。。。。。。。
[Setup]
AppName=MySetup 
AppVersion=1.5
DefaultDirName={pf}\MySetup 
[Tasks]
Name: "ImportantTask"; Description: "This task should be selected"; GroupDescription: "Important tasks";
[Code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
  Result := True;
  if (CurPageID = wpSelectTasks) and not IsTaskSelected('ImportantTask') then
    Result := Msgbox('You have not selected the ImportantTask option.' + #13#10 + 
      'Are you sure you want to continue ?', mbInformation, MB_YESNO) = IDYES;
end;