Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [Setup]
- AppName=My Program
- AppVersion=1.5
- DefaultDirName={pf}\My Program
- [Languages]
- Name: english; MessagesFile: compiler:Default.isl
- [Files]
- Source: file1.exe; DestDir: {app};
- Source: file2.exe; DestDir: {app};
- Source: file3.exe; DestDir: {app};
- [Run]
- Filename: {app}\file1.exe; Flags: hidewizard runhidden 32bit; WorkingDir: {localappdata}; Check: ShouldRunItem(1)
- Filename: {app}\file2.exe; Flags: hidewizard runhidden 32bit; WorkingDir: {localappdata}; Check: ShouldRunItem(2)
- Filename: {app}\file3.exe; Flags: hidewizard runhidden 64bit; WorkingDir: {localappdata}; Check: ShouldRunItem(3)
- [Code]
- const
- FileOneDesc =
- 'Select if you want to run File1.exe';
- FileTwoDesc =
- 'Select if you want to run File2.exe';
- FileThreeDesc =
- 'Select if you want to run File3.exe';
- var
- CustomPage: TWizardPage;
- FileOneButton: TNewRadioButton;
- FileTwoButton: TNewRadioButton;
- FileThreeButton: TNewRadioButton;
- function ShouldRunItem(Value: Integer): Boolean;
- begin
- Result := False;
- case Value of
- 1: Result := FileOneButton.Checked;
- 2: Result := FileTwoButton.Checked;
- 3: Result := FileThreeButton.Checked;
- end;
- end;
- procedure RadioButtonClick(Sender: TObject);
- begin
- // from this radio button OnClick event handler just enable the Next button
- WizardForm.NextButton.Enabled := True;
- end;
- procedure InitializeWizard;
- var
- FileOneDesclabel: TLabel;
- FileTwoDesclabel: TLabel;
- FileThreeDesclabel: TLabel;
- begin
- CustomPage := CreateCustomPage(wpWelcome, 'Multiple executable pre-launch wizard', '');
- FileOneButton := TNewRadioButton.Create(WizardForm);
- FileOneButton.Parent := CustomPage.Surface;
- FileOneButton.Top := 16;
- FileOneButton.Width := CustomPage.SurfaceWidth;
- FileOneButton.Font.Style := [fsBold];
- FileOneButton.Font.Size := 9;
- FileOneButton.Caption := 'Run File #1';
- // assign the OnClick event handler for enabling Next button
- FileOneButton.OnClick := @RadioButtonClick;
- FileOneDescLabel := TLabel.Create(WizardForm);
- FileOneDescLabel.Parent := CustomPage.Surface;
- FileOneDescLabel.Left := 8;
- FileOneDescLabel.Top := FileOneButton.Top + FileOneButton.Height + 8;
- FileOneDescLabel.Width := CustomPage.SurfaceWidth;
- FileOneDescLabel.Height := 40;
- FileOneDescLabel.AutoSize := False;
- FileOneDescLabel.Wordwrap := True;
- FileOneDescLabel.Caption := FileOneDesc;
- FileTwoButton := TNewRadioButton.Create(WizardForm);
- FileTwoButton.Parent := CustomPage.Surface;
- FileTwoButton.Top := FileOneDesclabel.Top + FileOneDesclabel.Height + 8;
- FileTwoButton.Width := CustomPage.SurfaceWidth;
- FileTwoButton.Font.Style := [fsBold];
- FileTwoButton.Font.Size := 9;
- FileTwoButton.Caption := 'Run File #2';
- // assign the OnClick event handler for enabling Next button
- FileTwoButton.OnClick := @RadioButtonClick;
- FileTwoDescLabel := TLabel.Create(WizardForm);
- FileTwoDescLabel.Parent := CustomPage.Surface;
- FileTwoDescLabel.Left := 8;
- FileTwoDescLabel.Top := FileTwoButton.Top + FileTwoButton.Height + 8;
- FileTwoDescLabel.Width := CustomPage.SurfaceWidth;
- FileTwoDescLabel.Height := 40;
- FileTwoDescLabel.AutoSize := False;
- FileTwoDescLabel.Wordwrap := True;
- FileTwoDescLabel.Caption := FileTwoDesc;
- FileThreeButton := TNewRadioButton.Create(WizardForm);
- FileThreeButton.Parent := CustomPage.Surface;
- FileThreeButton.Top := FileTwoDesclabel.Top + FileTwoDesclabel.Height + 10;
- FileThreeButton.Width := CustomPage.SurfaceWidth;
- FileThreeButton.Font.Style := [fsBold];
- FileThreeButton.Font.Size := 9;
- FileThreeButton.Caption := 'Run File #3';
- // assign the OnClick event handler for enabling Next button
- FileThreeButton.OnClick := @RadioButtonClick;
- FileThreeDescLabel := TLabel.Create(WizardForm);
- FileThreeDescLabel.Parent := CustomPage.Surface;
- FileThreeDescLabel.Left := 8;
- FileThreeDescLabel.Top := FileThreeButton.Top + FileThreeButton.Height + 8;
- FileThreeDescLabel.Width := CustomPage.SurfaceWidth;
- FileThreeDescLabel.Height := 40;
- FileThreeDescLabel.AutoSize := False;
- FileThreeDescLabel.Wordwrap := True;
- FileThreeDescLabel.Caption := FileThreeDesc;
- end;
- procedure CurPageChanged(CurPageID: Integer);
- begin
- // if you've entered your custom page and none of the radio buttons is selected, then...
- if (CurPageID = CustomPage.ID) and (not FileOneButton.Checked and
- not FileTwoButton.Checked and not FileThreeButton.Checked)
- then
- // disable the Next button
- WizardForm.NextButton.Enabled := False;
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement