А вот моя, иконки еще не приделал, но задел под них отвел

, если нужно, завтра сделаю.
читать дальше »
[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={sd}\My Program
OutputDir=.
OutputBaseFilename=test
[Files]
Source: NewIconImage1.png; DestDir: {tmp}; Flags: dontcopy;
Source: NewIconImage2.png; DestDir: {tmp}; Flags: dontcopy;
Source: botva2.dll; DestDir: {tmp}; Flags: dontcopy;
[CustomMessages]
HeaderLabelPage=Выберите тип установки
MyRadioCaption_1=Обычная установка
MyRadioCaption_2=Портативная установка
MyRadioDeskrip_1=Текст под первой радиокнопкой
MyRadioDeskrip_2=Текст под второй радиокнопкой
[code]
var
ISCustomPage1: TWizardPage;
NewIconImage1: TNewIconImage;
NewIconImage2: TNewIconImage;
NewRadioButton1: TNewRadioButton;
NewRadioButton2: TNewRadioButton;
NewStaticText1: TNewStaticText;
NewStaticText2: TNewStaticText;
procedure RedesignWizardForm;
begin
{ Creates custom wizard page }
ISCustomPage1 := CreateCustomPage(wpWelcome, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');
{ NewIconImage1 }
NewIconImage1 := TNewIconImage.Create(WizardForm);
with NewIconImage1 do
begin
Name := 'NewIconImage1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(8);
Top := ScaleY(8);
Width := ScaleX(81);
Height := ScaleY(81);
end;
{ NewIconImage2 }
NewIconImage2 := TNewIconImage.Create(WizardForm);
with NewIconImage2 do
begin
Name := 'NewIconImage2';
Parent := ISCustomPage1.Surface;
Left := ScaleX(8);
Top := ScaleY(120);
Width := ScaleX(81);
Height := ScaleY(81);
end;
{ NewRadioButton1 }
NewRadioButton1 := TNewRadioButton.Create(WizardForm);
with NewRadioButton1 do
begin
Name := 'NewRadioButton1';
Parent := ISCustomPage1.Surface;
Left := ScaleX(112);
Top := ScaleY(8);
Width := ScaleX(185);
Height := ScaleY(17);
Caption := ExpandConstant('{cm:MyRadioCaption_1}');
end;
{ NewRadioButton2 }
NewRadioButton2 := TNewRadioButton.Create(WizardForm);
with NewRadioButton2 do
begin
Name := 'NewRadioButton2';
Parent := ISCustomPage1.Surface;
Left := ScaleX(112);
Top := ScaleY(120);
Width := ScaleX(185);
Height := ScaleY(17);
Caption := ExpandConstant('{cm:MyRadioCaption_2}');
end;
{ NewStaticText1 }
NewStaticText1 := TNewStaticText.Create(WizardForm);
with NewStaticText1 do
begin
Name := 'NewStaticText1';
Parent := ISCustomPage1.Surface;
Caption := ExpandConstant('{cm:MyRadioDeskrip_1}');
Left := ScaleX(112);
Top := ScaleY(32);
Width := ScaleX(185);
Height := ScaleY(57);
end;
{ NewStaticText2 }
NewStaticText2 := TNewStaticText.Create(WizardForm);
with NewStaticText2 do
begin
Name := 'NewStaticText2';
Parent := ISCustomPage1.Surface;
Caption := ExpandConstant('{cm:MyRadioDeskrip_2}');
Left := ScaleX(112);
Top := ScaleY(144);
Width := ScaleX(185);
Height := ScaleY(57);
end;
NewRadioButton1.TabOrder := 0;
NewStaticText1.TabOrder := 1;
NewRadioButton2.TabOrder := 2;
NewStaticText2.TabOrder := 3;
end;
procedure InitializeWizard();
begin
RedesignWizardForm;
end;
serg aka lain, изящненько, только тогда библиотечку-бы со своими иконками, чтоб не ограничиватся системными

Я через ботву попробую, правда тяжеловато выходит для простенького скрипта....