Код:
#define MyAppName_1 "Программа 1"
#define MyAppName_2 "Программа 2"
[Setup]
AppName=My Program
AppVerName=My Program v 1.7
DefaultDirName={pf}\Программа 1
OutputDir=.
[Files]
Source: compiler:Examples\MyProg1.exe; DestDir: {app}; Check: IsChecked_1; Flags: ignoreversion;
Source: compiler:Examples\MyProg2.exe; DestDir: {app}; Check: IsChecked_2; Flags: ignoreversion;
[Code__]
var
Check: array [0..1] of TCheckBox;
procedure Check0(Sender: TObject);
begin
if Check[0].Checked then
begin
Check[1].Checked := False;
end;
if (Check[0].Checked = False) and (Check[1].Checked = False) then Check[0].Checked := True;
if Check[0].Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{pf}')) + '{#MyAppName_1}';
end;
procedure Check1(Sender: TObject);
begin
if Check[1].Checked then
begin
Check[0].Checked := False;
end;
if (Check[0].Checked = False) and (Check[1].Checked = False) then Check[1].Checked := True;
if Check[1].Checked then WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{sd}')) + '{#MyAppName_2}';
end;
//--------------------------------------------------\\
function IsChecked_1: boolean;
begin
Result:= Check[0].Checked;
end;
//--------------------------------------------------\\
function IsChecked_2: boolean;
begin
Result:= Check[1].Checked;
end;
//--------------------------------------------------\\
procedure InitializeWizard();
begin
Check[0] := TCheckBox.Create(WizardForm);
with Check[0] do
begin
Parent := WizardForm.SelectDirPage;
Checked := True;
Top := ScaleY(120);
OnClick := @Check0;
Caption := 'Программа 1';
end;
Check[1] := TCheckBox.Create(WizardForm);
with Check[1] do
begin
Parent := WizardForm.SelectDirPage;
Top := ScaleY(150);
OnClick := @Check1;
Caption := 'Программа 2';
end;
end;