[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.
[Tasks]
Name: task1; Description: Доп. программное обеспечение; Flags: exclusive
Name: task1\task2; Description: DirectX; Flags: unchecked
Name: task1\task3; Description: Microsoft Visual C++ 2005 Redist; Flags: unchecked
[code]
var
CheckListBox: TNewCheckListBox;
procedure InitializeWizard();
begin
CheckListBox := TNewCheckListBox.Create(WizardForm);
with CheckListBox do
begin
Parent := WizardForm.SelectTasksPage;
SetBounds(WizardForm.TasksList.Left, WizardForm.TasksList.Top+ScaleY(80), WizardForm.TasksList.Width, ScaleY(80));
AddCheckBoxEx('Язык интерфейса:', '', 0, False, False, True, False, nil, True);
AddRadioButtonEx('Русский', '', 1, True, True, nil, False);
AddRadioButtonEx('Английский', '', 1, True, True, nil, True);
Color:= clWindow;
ParentColor:= True;
WantTabs:= True;
BorderStyle:= bsNone;
ItemHeightFixed := True;
HideSelection := True;
end;
end;
// if CheckListBox.Checked[1] then
// Русский - если отмечен то выполняется.
WizardForm.TasksList.TreeViewStyle := True;
WizardForm.TasksList.Cursor := crHand;
WizardForm.TasksList.Parent := Panel1;
WizardForm.TasksList.color := clblack;
WizardForm.TasksList.Font.Style:=[fsBold];
WizardForm.TasksList.SetBounds(ScaleX(0),ScaleY(65),ScaleX(250),ScaleY(210));
WizardForm.TasksList.Font.Color:=clWhite;
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[Tasks]
Name: VCCheck; Description: Установить Microsoft Visual C++
Name: PhysXCheck; Description: Установить Nvidia PhysX
[Types]
Name: full; Description: Full installation; Flags: iscustom
[Components]
Name: Icon; Description: Дополнительные задачи:;
Name: Icon\DesktopIcon; Description: Создать ярлык на Рабочем столе; Types: full
Name: Icon\StartMenuIcon; Description: Создать ярлыки в меню «Пуск»; Types: full
[code]
procedure InitializeWizard();
begin
with WizardForm.ComponentsList do
begin
Parent := WizardForm.SelectTasksPage;
Width := ScaleX(215);
Color := clMenu;
BorderStyle := bsNone;
end;
with WizardForm.TasksList do
begin
Left := ScaleX(224);
Width := ScaleX(193);
Top := ScaleY(55);
end;
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if (PageID = 7) then
Result:= True;
end;
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=.
[Icons]
Name: {group}\My Program; Filename: {app}\My Program.exe
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}
Name: {commondesktop}\My Program; Filename: {app}\My Program.exe; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\My Program; Filename: {app}\My Program.exe; Tasks: quicklaunchicon
[Run]
Filename: {src}\Redist\DirectX\DXSETUP.exe; Parameters: /silent; StatusMsg: Обновление DirectX...; Flags: waituntilterminated; Check: CheckListBoxChecked(3);
Filename: {src}\Redist\vcredist_x86.exe; Parameters: /q; StatusMsg: Установка Microsoft Visual C++ 2005 SP1 Redist...; Flags: runhidden waituntilterminated; Check: CheckListBoxChecked(2);
[Tasks]
Name: quicklaunchicon; Description: в меню; GroupDescription: доп ярлыки; Flags: unchecked
Name: desktopicon; Description: раб стол; GroupDescription: доп ярлыки; Flags: unchecked
[code]
var
CheckListBox: TNewCheckListBox;
function CheckListBoxChecked(int: integer): boolean;
begin
if (int >= 0) and (int < CheckListBox.ItemCount) then
Result:= CheckListBox.Checked[int]
else
Result:= false;
end;
procedure InitializeWizard();
begin
with WizardForm.TasksList do
begin
TreeViewStyle := True;
Cursor := crHand;
color := clblack;
Font.Style:=[fsBold];
SetBounds(ScaleX(0),ScaleY(65),ScaleX(200),ScaleY(210));
Font.Color:=clWhite;
end;
CheckListBox := TNewCheckListBox.Create(WizardForm);
with CheckListBox do
begin
Parent := WizardForm.SelectTasksPage;
SetBounds(WizardForm.TasksList.Left+ScaleX(200), ScaleY(65), ScaleX(200),ScaleY(210));
AddCheckBoxEx('Доп. программное обеспечение', '', 1, True, True, False, True, nil, True);
AddCheckBoxEx('DirectX', '', 1, False, True, False, True, nil, True);
AddCheckBoxEx('Microsoft Visual C++ 2005 Redist', '', 1, False, True, False, True, nil, True);
Font.Color:=clWhite;
TreeViewStyle := True;
Color:= clblack;
Cursor := crHand;
Font.Style:=[fsBold];
WantTabs:= True;
BorderStyle:= bsNone;
ItemHeightFixed := True;
HideSelection := True;
end;
end;
with CheckListBox do
begin
...
SetBounds(это, это, ScaleX(200),ScaleY(210));
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[Tasks]
Name: VCCheck; Description: Установить Microsoft Visual C++
Name: PhysXCheck; Description: Установить Nvidia PhysX
[Types]
Name: full; Description: Full installation; Flags: iscustom
[Components]
Name: Icon; Description: Дополнительные задачи:;
Name: Icon\DesktopIcon; Description: Создать ярлык на Рабочем столе; Types: full
Name: Icon\StartMenuIcon; Description: Создать ярлыки в меню «Пуск»; Types: full
[code]
var
PanelTask,PanelComponent: TPanel;
procedure InitializeWizard();
begin
PanelComponent := TPanel.Create(WizardForm);
with PanelComponent do
begin
Parent := WizardForm.SelectTasksPage;
Left := ScaleX(0);
Top := ScaleY(30);
Width := ScaleX(185);
Height := ScaleY(192);
BevelOuter := bvNone;
end;
PanelTask := TPanel.Create(WizardForm);
with PanelTask do
begin
Parent := WizardForm.SelectTasksPage;
Left := ScaleX(220);
Top := ScaleY(30);
Width := ScaleX(185);
Height := ScaleY(192);
BevelOuter := bvNone;
end;
with WizardForm.ComponentsList do
begin
Parent := PanelComponent;
Width := ScaleX(215);
Color := clMenu;
BorderStyle := bsNone;
end;
with WizardForm.TasksList do
begin
Parent := PanelTask;
Left := ScaleX(0);
Width := ScaleX(193);
Top := ScaleY(55);
end;
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if (PageID = 7) then
Result:= True;
end;