[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirname={pf}\MyApp
[Languages]
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"
[Registry]
Root: HKCU; Subkey: "SOFTWARE\MyApp"; Flags: uninsdeletekey
Root: HKCU; Subkey: "SOFTWARE\MyApp\IsComponentsChecked"; ValueType: dword; ValueName: "Component1"; ValueData: "$00000001"; Check: IsComponentChecked(2);
Root: HKCU; Subkey: "SOFTWARE\MyApp\IsComponentsChecked"; ValueType: dword; ValueName: "Component2"; ValueData: "$00000001"; Check: IsComponentChecked(3);
Root: HKCU; Subkey: "SOFTWARE\MyApp\IsComponentsChecked"; ValueType: dword; ValueName: "Component3"; ValueData: "$00000001"; Check: IsComponentChecked(4);
Root: HKCU; Subkey: "SOFTWARE\MyApp\IsComponentsChecked"; ValueType: dword; ValueName: "Component4"; ValueData: "$00000001"; Check: IsComponentChecked(6);
Root: HKCU; Subkey: "SOFTWARE\MyApp\IsComponentsChecked"; ValueType: dword; ValueName: "Component1"; ValueData: "$00000000"; Check: not IsComponentChecked(2);
Root: HKCU; Subkey: "SOFTWARE\MyApp\IsComponentsChecked"; ValueType: dword; ValueName: "Component2"; ValueData: "$00000000"; Check: not IsComponentChecked(3);
Root: HKCU; Subkey: "SOFTWARE\MyApp\IsComponentsChecked"; ValueType: dword; ValueName: "Component3"; ValueData: "$00000000"; Check: not IsComponentChecked(4);
Root: HKCU; Subkey: "SOFTWARE\MyApp\IsComponentsChecked"; ValueType: dword; ValueName: "Component4"; ValueData: "$00000000"; Check: not IsComponentChecked(6);
[CustomMessages]
rus.CompName1=Зима.
rus.CompName2=Снежинки при загрузке.
rus.CompName3=Обводка персонажа снежинкой.
rus.CompName4=Интерфейс игры.
[Code]
var
ComponentsPage: TWizardPage;
ComponentsList: TNewCheckListBox;
function IsComponentChecked( const nIndex: Integer ): Boolean;
begin
Result := ComponentsList.Checked[nIndex];
end;
procedure CheckPreviousComponentsChecked;
var
i: array[0..4] of cardinal;
begin
if RegKeyExists(HKCU, 'SOFTWARE\MyApp\IsComponentsChecked') then begin
RegQueryDWordValue(HKCU, 'SOFTWARE\MyApp\IsComponentsChecked', 'Component1', i[1]);
RegQueryDWordValue(HKCU, 'SOFTWARE\MyApp\IsComponentsChecked', 'Component2', i[2]);
RegQueryDWordValue(HKCU, 'SOFTWARE\MyApp\IsComponentsChecked', 'Component3', i[3]);
RegQueryDWordValue(HKCU, 'SOFTWARE\MyApp\IsComponentsChecked', 'Component4', i[4]);
if i[1] = 1 then ComponentsList.Checked[2] := True else ComponentsList.Checked[2] := False;
if i[2] = 1 then ComponentsList.Checked[3] := True else ComponentsList.Checked[3] := False;
if i[3] = 1 then ComponentsList.Checked[4] := True else ComponentsList.Checked[4] := False;
if i[4] = 1 then ComponentsList.Checked[6] := True else ComponentsList.Checked[6] := False;
end;
end;
procedure RedesignWizardForm;
begin
ComponentsPage := CreateCustomPage(wpSelectComponents, SetupMessage(msgWizardSelectComponents), SetupMessage(msgSelectComponentsDesc));
ComponentsList := TNewCheckListBox.Create(WizardForm);
with ComponentsList do
begin
Parent := ComponentsPage.Surface;
SetBounds(ScaleX(0), ScaleY(0), ScaleX(416), ScaleY(220));
AddCheckBox('Дополнительные компоненты.', '', 0, False, True, False, True, nil);
AddCheckBox('Winter', '', 1, False, True, False, True, nil);
AddCheckBox(CustomMessage('CompName1'), '', 2, True, True, False, True, nil);
AddCheckBox(CustomMessage('CompName2'), '', 2, False, True, False, True, nil);
AddCheckBox(CustomMessage('CompName3'), '', 2, True, True, False, True, nil);
AddCheckBox('Interface', '', 1, False, True, False, True, nil);
AddCheckBox(CustomMessage('CompName4'), '', 2, False, True, False, True, nil);
end;
CheckPreviousComponentsChecked;
end;
procedure InitializeWizard();
begin
RedesignWizardForm;
end;