Пользовательский код запуска через задачи в Установке Inno

Я хочу выполнить некоторый код, если пользователь проверяет соответствующий флажок во время установки. От чтения справочного файла похоже, что единственный способ использовать задачу состоит в том, чтобы связать его с записью в Файлах/Значках/и т.д. раздел. Я действительно хотел бы связать его с процедурой в Секции кода. Это может быть сделано и если так, как?

6
задан mwolfe02 17 February 2010 в 14:35
поделиться

1 ответ

Вы делаете это, добавляя пользовательскую страницу мастера, которая имеет флажки, и выполняете код для всех выбранных флажков, когда пользователь нажимает "Next" на этой странице:

[Code]
var
  ActionPage: TInputOptionWizardPage;

procedure InitializeWizard;
begin
  ActionPage := CreateInputOptionPage(wpReady,
    'Optional Actions Test', 'Which actions should be performed?',
    'Please select all optional actions you want to be performed, then click Next.',
    False, False);

  ActionPage.Add('Action 1');
  ActionPage.Add('Action 2');
  ActionPage.Add('Action 3');

  ActionPage.Values[0] := True;
  ActionPage.Values[1] := False;
  ActionPage.Values[2] := False;
end;

function NextButtonClick(CurPageID: Integer): Boolean;
begin
  Result := True;
  if CurPageID = ActionPage.ID then begin
    if ActionPage.Values[0] then
      MsgBox('Action 1', mbInformation, MB_OK);
    if ActionPage.Values[1] then
      MsgBox('Action 2', mbInformation, MB_OK);
    if ActionPage.Values[2] then
      MsgBox('Action 3', mbInformation, MB_OK);
  end;
end;

Флажки могут быть либо стандартными элементами управления, либо элементами в поле списка, см. документацию Inno Setup по Pascal Scripting для деталей.

Если вы хотите, чтобы ваш код выполнялся в зависимости от того, был ли выбран определенный компонент или задача, используйте вместо этого функции IsComponentSelected() и IsTaskSelected().

4
ответ дан 8 December 2019 в 16:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: