如果用户没有 select Inno Setup 中的(桌面图标)任务,如何调用 Pascal 脚本程序

How to call Pascal Script procedure if user does not select a (desktop icon) task in Inno Setup

我想用 Inno Setup 创建一个设置,其中 运行 一个程序,如果用户没有选中 "Desktop icon" 复选框。

我只想要 运行 如果此条件为真(以便取消选中此复选框)的程序。

你能帮帮我吗?

[Tasks]
Name: desktopicon; Description: "Create a &desktop icon"; \
    GroupDescription: "Additional icons:";  

[Icons]
Name: "{group}\iaca"; Filename: "{app}\iconApp.ico"
Name: "{userdesktop}\{#myAppName} ({#version})"; Filename: "{app}\{#myExeName}"; \
    IconFilename: "{app}\iconApp.ico"; Tasks: desktopicon

如果您想在安装期间调用您的过程,请使用 WizardIsTaskSelected support function in CurStepChanged event function 测试 desktopicon 任务状态。

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if (CurStep = ssInstall) and (not WizardIsTaskSelected('desktopicon')) then
  begin
    Log('"Create a desktop icon" task was not selected.');
    { Call your procedure here }
  end;
end;

(该函数在老版本的 Inno Setup 中被称为 IsTaskSelected