Я хочу выполнить некоторый код, если пользователь проверяет соответствующий флажок во время установки. От чтения справочного файла похоже, что единственный способ использовать задачу состоит в том, чтобы связать его с записью в Файлах/Значках/и т.д. раздел. Я действительно хотел бы связать его с процедурой в Секции кода. Это может быть сделано и если так, как?
Вы делаете это, добавляя пользовательскую страницу мастера, которая имеет флажки, и выполняете код для всех выбранных флажков, когда пользователь нажимает "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()
.