#define MyAppName "DoW Soulstorm - Unification Mod"
#define MyAppVersion "5.9.1"
#define MyAppPublisher "Tihiy_Don"
#define MyAppURL "https://vk.com/unification_mod"
#define MyAppExeName "Unification mod.exe"
[Setup]
// AppId={{B39FD1FE-EC03-4165-9390-BF6962C0F723}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppVerName={#MyAppName} {#MyAppVersion}
DefaultDirName={sd}\Games\{#MyAppName}
DefaultGroupName={#MyAppName}
WizardImageFile=Img\WizardImage.bmp
ShowTasksTreeLines=true
AllowNoIcons=yes
DisableWelcomePage=no
OutputDir=D:\Мой инсталлятор\Unification Mod
OutputBaseFilename=setup
SolidCompression=yes
CompressionThreads=auto
Compression=lzma2/ultra64
InternalCompressLevel=ultra64
LZMAUseSeparateProcess=yes
LZMANumBlockThreads=8
LZMABlockSize=262144
LZMADictionarySize=1048576
SetupIconFile=Img\icon.ico
FlatComponentsList=yes
[Languages]
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"
[CustomMessages]
rus.Welcome1=Вас приветствует Мастер установки игры %n DoW Soulstorm: Unification Mod
rus.Welcome2=%n Рекомендуется закрыть все прочие приложения перед тем, как продолжить.%nНажмите «Далее», чтобы продолжить, или  «Отмена», чтобы выйти из программы установки.
rus.Finished1=Завершение Мастера установки %n DoW Soulstorm: Unification Mod
rus.Finished2=Игра DoW Soulstorm: Unification Mod установлена на Ваш компьютер. %nНажмите «Завершить», чтобы выйти из программы установки.
[Files]
///модули////////////////////////////////////////////////////////////
Source: "Files\ISSkin.dll"; DestDir: "{tmp}"; Flags: dontcopy     
Source: "Files\isgsg.dll"; DestDir: "{tmp}"; Flags: dontcopy       
Source: "Img\splash.png"; DestDir: "{tmp}"; Flags: dontcopy       
Source: "Files\skin.cjstyles"; DestDir: "{tmp}"; Flags: dontcopy   
Source: "Img\papka.bmp"; DestDir: "{tmp}"; Flags: dontcopy         
Source: "Img\End.bmp"; DestDir: "{tmp}"; Flags: dontcopy
Source: "Img\button.bmp"; DestDir: "{tmp}"; Flags: dontcopy
Source: Files\ISDone.dll; DestDir: {tmp}; Flags: dontcopy
////////////файлы игры///////////////////////////////////////////////
//Source: "D:\games\DoW - Soulstorm\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs;
Source: "D:\games\DoW - Soulstorm\Soulstorm.exe"; DestDir: "{app}";
Source: "D:\games\DoW - Soulstorm\DoW Mod Manager v2.1.6.exe"; DestDir: "{app}";
Source: "D:\games\DoW - Soulstorm\icon.ico"; DestDir: "{app}";
////////////софт/////////////////////////////////////////////////////
Source: "Files\DowOnlineUpdateInstaller.exe*"; DestDir: "{app}"
[Tasks]
Name: Soft; Description: Обновить библиотеки DirectX; GroupDescription: Установить дополнительное программное обеспечение:; Flags: unchecked
Name: Soft1; Description: Установить DowOnline; GroupDescription: Установить дополнительное программное обеспечение:; Flags: unchecked
//Name: desktopicon; Description: Создать ярлык на рабочем столе; GroupDescription: Ярлыки:;
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Run]
Filename: {src}\Directx9\dxsetup.exe; StatusMsg: Обновления DirectX; WorkingDir: {src}; Flags: waituntilterminated; Tasks: Soft
Filename: {app}\DowOnlineUpdateInstaller.exe; Description: "Установить DowOnline"; Flags: waituntilterminated; Tasks: Soft1
[Icons]
Name: "{group}\Запустить игру"; Filename: "{app}\Soulstorm.exe"; IconFilename: "{app}\icon.ico"; WorkingDir: "{app}"
Name: "{group}\Удалить игру"; Filename: "{uninstallexe}"; WorkingDir: "{app}"
Name: "{group}\Наша группа Вконтакте"; Filename: "{#MyAppURL}"
Name: "{commondesktop}\Unification mod"; Filename: "{app}\Soulstorm.exe"; IconFilename: "{app}\icon.ico"; Tasks: desktopicon; WorkingDir: "{app}"
Name: "{commondesktop}\DoW Mod Manager v2.1.6"; Filename: "{app}\DoW Mod Manager v2.1.6.exe"; Tasks: desktopicon; WorkingDir: "{app}"
[UninstallDelete]
Type: filesandordirs; Name: {app}
[code]
const
  Color = clblack;
  ButtonWidth = 80;
  ButtonHeight = 23;
  bidBack = 0;
  bidNext = 1;
  bidCancel = 2;
  bidDirBrowse = 3;
  bidGroupBrowse = 4;
  bidbtnCancelUnpacking = 5;
  PM_REMOVE = 1;
  CP_ACP = 0; CP_UTF8 = 65001;
  oneMB=1024*1024;
  Period = 250;
  VK_ESCAPE = 27;
  HC_ACTION = 0;
  WH_CALLWNDPROC = 4;
  WM_PAINT = $F;
  PCFonFLY=true;
  notPCFonFLY=false;
 
  dURL=2;
var
  LogoImage: TBitmapImage;
  MyTBaner: LongWord;
  ButtonPanel: array [0..4] of TPanel;
  ButtonImage: array [0..4] of TBitmapImage;
  ButtonLabel: array [0..4] of TLabel;
  StatusLabel, FileNameLabel, ExtractFile, StatusInfo, FinishedLabel: TLabel;
  ProgressBar: TNewProgressBar;
  CancelCode, n, ArcInd, UnPackError, StartInstall, LastTimerEvent, lastMb, baseMb: Integer;
  WndHookID, TimerID: LongWord;
  msgError: string;
  FreezeTimer: Boolean;
  totalUncompressedSize, origsize: Integer;           
  Texture2, Texture: TBitmapImage;
  NeedSpaceLabel,FreeSpaceLabel: TLabel;
  FreeMB, TotalMB: Cardinal;
  SizeStr: String;
  SizeInt: Integer;
  SymbolNumber: Integer;
  BmpFile: TBitmapImage;
  InBevel, UpBevel:TBevel;
  Finished1, LabelPct1,LabelCurrFileName,LabelTime1,LabelTime2,LabelTime3: TLabel;
  WelcomeL, WelcomeL1: TLabel;
  MyCancelButton: TButton;
  PCFVer:double;
  StartMenuIconLabel: TLabel;
  StartMenuIcon: TCheckBox;
  IsCustomFontInstalled:Boolean;
  GameFont:string;
  URLLabel,URLLabelShadow:TLabel;
///////////////////////////////////////Ссылка///////////////////////////////////////////////////////////////////////////
procedure URLLabelClick(Sender: TObject);                                                                             //
var                                                                                                                   //
  ErrorCode:integer;                                                                                                  //
begin                                                                                                                 //
  ShellExec('open','https://vk.com/unification_mod','','',SW_SHOWNORMAL,ewNoWait,ErrorCode);                          //
end;                                                                                                                  //
procedure ClickURL();                                                                                                 //
begin                                                                                                                 //
  URLLabel:=TLabel.Create(WizardForm);                                                                                //
  with URLLabel do begin                                                                                              //
    Top:=ScaleY(331)-dURL;                                                                                            //
    Left:=ScaleX(25)-dURL;                                                                                            //
    Caption:='vk.com/unification_mod';                                                                                //
    AutoSize:=True;                                                                                                   //
    Parent:=WizardForm;                                                                                               //
    Cursor:=crHand;                                                                                                   //
    Transparent:=True;                                                                                                //
    Font.Color:=clMaroon;                                                                                             //
    Font.Size:=9;                                                                                                     //
    Font.Style:=Font.Style+[fsBold];                                                                                  //
    BringToFront;                                                                                                     //
    OnClick:=@URLLabelClick;                                                                                          //                                                                                 //
  end;                                                                                                                //
end;                                                                                                                  //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure CancelButtonOnClick(Sender: TObject);
begin
WizardForm.FileNamelabel.Hide;
LabelPct1.Hide;
LabelCurrFileName.Hide;
LabelTime1.Hide;
LabelTime2.Hide;
WizardForm.StatusLabel.Caption:='Откат установки...';
end;
procedure HideControls;
begin
  WizardForm.FileNamelabel.Hide;
  LabelPct1.Hide;
  LabelCurrFileName.Hide;
  LabelTime1.Hide;
  LabelTime2.Hide;
end;
//************************************************ [Начало - Вн. вид инсталла] ***************************************************//
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';
////Чтобы чекбокс создания в меню пуск был белым//
procedure NoIconsLabelClick(Sender: TObject);   //
begin                                           //
  WizardForm.NoIconsCheck.OnClick(Sender);      //
end;                                            //
//////////////////////////////////////////////////
procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';
  procedure RepaintInstall();
  begin
  ExtractTemporaryFile('button.bmp')
  ExtractTemporaryFile('papka.bmp');
  //ExtractTemporaryFile('Logo.bmp');
  //WizardForm.WizardBitmapImage.Width := ScaleX(497);
  //WizardForm.WizardBitmapImage2.Width := ScaleX(497);
  WizardForm.PageNameLabel.Width:=ScaleX(300);
  WizardForm.PageDescriptionLabel.Hide;
  WizardForm.WizardSmallBitmapImage.Hide;    //отключение иконки маленькой иконки
 
  ExtractTemporaryFile('End.bmp');
  //ExtractTemporaryFile('WizardImage.bmp');
 
  BmpFile:= TBitmapImage.Create(WizardForm);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\End.bmp'));
  //BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= WizardForm.FinishedPage;
  with WizardForm.WizardBitmapImage do
  begin
    Width:= ScaleX(497);
    //Height:= ScaleX(360);
    Stretch:= True;
    Parent:= WizardForm;
  end;
 
  WizardForm.Font.Color:=clWhite;
  WizardForm.Color:=Color;
  WizardForm.WelcomePage.Color:=Color;
  WizardForm.InnerPage.Color:=Color;
  WizardForm.FinishedPage.Color:=Color;
  WizardForm.SelectDirPage.Color:=Color;
  WizardForm.SelectComponentsPage.Color:=Color;
  WizardForm.SelectProgramGroupPage.Color:=Color;
  WizardForm.SelectTasksPage.Color:=Color;
  WizardForm.ReadyPage.Color:=Color;
  WizardForm.InstallingPage.Color:=Color;
  WizardForm.PageNameLabel.Color:=Color;
  WizardForm.PageNameLabel.Font.Color:=ClWhite;
  WizardForm.MainPanel.Color:=Color;
 
  //отключения надписей на странице приветствия
  WizardForm.WelcomeLabel1.Hide;
  WizardForm.WelcomeLabel2.Hide;
 
  WizardForm.SelectDirLabel.Color:=Color;
  WizardForm.SelectDirBrowseLabel.Color:=Color;
  WizardForm.DirEdit.Color:=Color;
  WizardForm.DiskSpaceLabel.Color:=Color;
  with TLabel.Create(WizardForm.NoIconsCheck) do
  begin
  Parent := WizardForm.NoIconsCheck.Parent;
  Caption := SetupMessage(msgNoProgramGroupCheck2);
  SetBounds(WizardForm.NoIconsCheck.Left+ScaleX(18), WizardForm.NoIconsCheck.Top+ScaleY(2), WizardForm.NoIconsCheck.Width, ScaleY(13));
  Font.Color := clWhite;
  OnClick := @NoIconsLabelClick;
  end;
  WizardForm.ComponentsList.Color:=Color;
  WizardForm.SelectComponentsLabel.Color:=Color;
  WizardForm.TypesCombo.Color:=Color;
  //WizardForm.TypesCombo.Hide;
  //WizardForm.ComponentsDiskSpaceLabel.Hide;
 
  WizardForm.GroupEdit.Color:=Color;
  WizardForm.SelectProgramGroupPage.Color:=Color;
  WizardForm.SelectStartMenuFolderLabel.Color:=Color;
  WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color;
  WizardForm.ReadyMemo.Color:=Color;
  WizardForm.ReadyLabel.Color:=Color;
 
  WizardForm.StatusLabel.Color:=Color;
  WizardForm.FilenameLabel.Color:=Color;
  //отключения надписей на странице финиша
  WizardForm.FinishedHeadingLabel.Hide;
  WizardForm.FinishedLabel.Hide;
 
  WizardForm.Font.Size:=8
  WizardForm.Font.Name:= 'Verdana'
  WizardForm.Font.Color:= ClWhite;
  //отключение линий панелей снизу и сверху
 
  //WizardForm.Bevel.visible:=False;
  //WizardForm.Bevel1.visible:=False;
  //WizardForm.ReadyMemo.ScrollBars:= ssNone
  WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
  WizardForm.SelectDirBitmapImage.AutoSize:=true;
  WizardForm.SelectGroupBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
  WizardForm.SelectGroupBitmapImage.AutoSize:=true;
  //with WizardForm.ComponentsList do
  //begin
  //Top:=ScaleY(55);
  //Height:=ScaleY(150);
  //end;
 
  WelcomeL:=TLabel.Create(WizardForm)
  with WelcomeL do begin
  AutoSize:=False;
  SetBounds(ScaleX(-25), ScaleY(240), ScaleX(550), ScaleY(70));
  WordWrap:=True;
  Alignment := taCenter;
  Transparent:=True;
  Font.Name:='Arial';
  Font.Size:= 12;
  Font.Color:=$FFFFFF;
  Font.Style:=[fsBold];
  Caption:= ExpandConstant('{cm:Welcome1}');
  Parent:=WizardForm.WelcomePage;
  end;
  WelcomeL1:=TLabel.Create(WizardForm)
  with WelcomeL1 do begin
  AutoSize:=False;
  SetBounds(ScaleX(-25), ScaleY(268), ScaleX(550), ScaleY(100));
  WordWrap:=True;
  Alignment := taCenter;
  Transparent:=True;
  Font.Name:='Arial';
  Font.Size:= 8;
  Font.Color:=$FFFFFF;
  Caption:= ExpandConstant('{cm:Welcome2}');
  Parent:=WizardForm.WelcomePage;
  end;
  Finished1:= TLabel.Create(WizardForm)
  with Finished1 do begin
  AutoSize:=False;
  SetBounds(ScaleX(-25), ScaleY(240), ScaleX(550), ScaleY(70));
  WordWrap:=True;
  Alignment := taCenter;
  Transparent:=True;
  Font.Name:='Arial';
  Font.Size:= 12;
  Font.Color:=$FFFFFF;
  Font.Style:=[fsBold];
  Caption:= ExpandConstant('{cm:Finished1}');
  Parent:=WizardForm.FinishedPage;
  end;
  FinishedLabel:= TLabel.Create(WizardForm)
  with FinishedLabel do begin
  AutoSize:=False;
  SetBounds(ScaleX(-25), ScaleY(280), ScaleX(550), ScaleY(100));
  WordWrap:=True;
  Alignment := taCenter;
  Transparent:=True;
  Font.Name:='Arial';
  Font.Size:= 8;
  Font.Color:=$FFFFFF;
  Caption:= ExpandConstant('{cm:Finished2}');
  Parent:=WizardForm.FinishedPage;
  end;
  end;
  function InitializeSetup1(): Boolean;
  begin
  ExtractTemporaryFile('skin.cjstyles');
  LoadSkin(ExpandConstant('{tmp}\skin.cjstyles'), '');
  Result := True;
  end;
  procedure DeinitializeSetup();
  begin
  UnloadSkin();
  end;
  procedure InitializeUninstallProgressForm;
  begin
  UninstallProgressForm.Bevel.visible:=False;
  UninstallProgressForm.BeveledLabel.visible:=False;
  UninstallProgressForm.Bevel1.visible:=False;
  UninstallProgressForm.Color:=Color;
  UninstallProgressForm.InnerPage.Color:=Color;
  UninstallProgressForm.MainPanel.Color:=Color;
  UninstallProgressForm.PageNameLabel.Color:=Color;
  UninstallProgressForm.PageDescriptionLabel.Hide;
  UninstallProgressForm.PageNameLabel.Font.Color:=clWhite;
  UninstallProgressForm.PageNameLabel.Width:=ScaleX(300);
  UninstallProgressForm.StatusLabel.Color:=Color;
  UninstallProgressForm.StatusLabel.Font.Color:=clWhite;
  UninstallProgressForm.WizardSmallBitmapImage.Hide;
end;
function InitializeSetup:boolean;
begin
  InitializeSetup1()
  Result:=True;
end;
//************************************************ [Конец - Вн. вид инсталла] ***************************************************//
//************************************************ [Начало - Кнопки] ***************************************************//
procedure ButtonLabelClick(Sender: TObject);
var
  Button: TButton;
begin
  ButtonImage[TLabel(Sender).Tag].Left:=0
  case TLabel(Sender).Tag of
    bidBack: Button:=WizardForm.BackButton;
    bidNext: Button:=WizardForm.NextButton;
    bidCancel: Button:=WizardForm.CancelButton;
    bidDirBrowse: Button:=WizardForm.DirBrowseButton;
    bidGroupBrowse: Button:=WizardForm.GroupBrowseButton;
    bidbtnCancelUnpacking: Button := MyCancelButton;
  else
    Exit
  end
  Button.OnClick(Button)
end;
procedure ButtonLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if ButtonLabel[TLabel(Sender).Tag].Enabled then
     ButtonImage[TLabel(Sender).Tag].Left:=-ButtonWidth
end;
procedure ButtonLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  ButtonImage[TLabel(Sender).Tag].Left:=0
end;
procedure LoadButtonImage(AButton: TButton; AButtonIndex: integer);
var
  Image: TBitmapImage;
  Panel: TPanel;
  Labl: TLabel;
begin
  Panel:=TPanel.Create(WizardForm)
  Panel.Left:=AButton.Left
  Panel.Top:=AButton.Top
  Panel.Width:=AButton.Width
  Panel.Height:=AButton.Height
  Panel.Tag:=AButtonIndex
  Panel.Parent:=AButton.Parent
  ButtonPanel[AButtonIndex]:=Panel
  Image:=TBitmapImage.Create(WizardForm) 
  Image.Width:=160                         
  Image.Height:=23
  Image.Enabled:=False
  Image.Bitmap.LoadFromFile(ExpandConstant('{tmp}\button.bmp'))
  Image.Parent:=Panel
  ButtonImage[AButtonIndex]:=Image
  with TLabel.Create(WizardForm) do begin
    Tag:=AButtonIndex
    Parent:=Panel
    Width:=Panel.Width
    Height:=Panel.Height
    Transparent:=True
    OnClick:=@ButtonLabelClick
    OnDblClick:=@ButtonLabelClick
    OnMouseDown:=@ButtonLabelMouseDown
    OnMouseUp:=@ButtonLabelMouseUp
  end;
  Labl:=TLabel.Create(WizardForm);   
  Labl.Left:=23;                       
  Labl.Top:=5;
  Labl.Autosize:=True;
  Labl.Alignment:=taCenter;
  Labl.Tag:=AButtonIndex
  Labl.Transparent:=True
  Labl.Font.Color:=clwhite
  Labl.Caption:=AButton.Caption
  Labl.OnClick:=@ButtonLabelClick
  Labl.OnDblClick:=@ButtonLabelClick
  Labl.OnMouseDown:=@ButtonLabelMouseDown
  Labl.OnMouseUp:=@ButtonLabelMouseUp
  Labl.Parent:=Panel
  ButtonLabel[AButtonIndex]:=Labl
end;
procedure UpdateButton(AButton: TButton;AButtonIndex: integer);
begin
  ButtonLabel[AButtonIndex].Caption := AButton.Caption;
  ButtonPanel[AButtonIndex].Visible := AButton.Visible;
  ButtonLabel[AButtonIndex].Enabled := Abutton.Enabled;
  ButtonLabel[AButtonIndex].Left := ButtonPanel[AButtonIndex].Width div 2 - ButtonLabel[AButtonIndex].Width div 2;
  ButtonLabel[AButtonIndex].Top := ButtonPanel[AButtonIndex].Height div 2 - ButtonLabel[AButtonIndex].Height div 2;
end;
procedure LicenceAcceptedRadioOnClick(Sender: TObject);
begin
  ButtonLabel[bidNext].Enabled:=True
end;
procedure LicenceNotAcceptedRadioOnClick(Sender: TObject);
begin
  ButtonLabel[bidNext].Enabled:=False
end;
procedure UpdateButtons(CurPageID: Integer);
begin
  UpdateButton(WizardForm.BackButton,bidBack)
  UpdateButton(WizardForm.NextButton,bidNext)
  UpdateButton(WizardForm.CancelButton,bidCancel)
  ButtonLabel[bidBack].Left := (ButtonPanel[bidBack].Width / 2 - ButtonLabel[bidBack].Width / 2);
  ButtonLabel[bidNext].Left := (ButtonPanel[bidNext].Width / 2 - ButtonLabel[bidNext].Width / 2);
  ButtonLabel[bidCancel].Left := (ButtonPanel[bidCancel].Width / 2 - ButtonLabel[bidCancel].Width / 2);
  ButtonLabel[bidDirBrowse].Left := (ButtonPanel[bidDirBrowse].Width / 2 - ButtonLabel[bidDirBrowse].Width / 2);
  ButtonLabel[bidGroupBrowse].Left := (ButtonPanel[bidGroupBrowse].Width / 2 - ButtonLabel[bidGroupBrowse].Width / 2);
end;
procedure ButtonTextures();
begin
  WizardForm.BackButton.Width:=ButtonWidth
  WizardForm.BackButton.Height:=ButtonHeight
  WizardForm.NextButton.Width:=ButtonWidth
  WizardForm.NextButton.Height:=ButtonHeight
  WizardForm.CancelButton.Width:=ButtonWidth
  WizardForm.CancelButton.Height:=ButtonHeight
  WizardForm.DirBrowseButton.Left:=337
  WizardForm.DirBrowseButton.Width:=ButtonWidth
  WizardForm.DirBrowseButton.Height:=ButtonHeight
  WizardForm.GroupBrowseButton.Left:=337
  WizardForm.GroupBrowseButton.Width:=ButtonWidth
  WizardForm.GroupBrowseButton.Height:=ButtonHeight
  WizardForm.LicenseAcceptedRadio.OnClick:=@LicenceAcceptedRadioOnClick
  WizardForm.LicenseNotAcceptedRadio.OnClick:=@LicenceNotAcceptedRadioOnClick
  LoadButtonImage(WizardForm.BackButton,bidBack)
  LoadButtonImage(WizardForm.NextButton,bidNext)
  LoadButtonImage(WizardForm.CancelButton,bidCancel)
  LoadButtonImage(WizardForm.DirBrowseButton,bidDirBrowse)
  LoadButtonImage(WizardForm.GroupBrowseButton,bidGroupBrowse)
end;
//************************************************ [Конец - Кнопки] ***************************************************//
procedure InitializeWizard();
begin
  WizardForm.NoIconsCheck.Caption:= '';
  RepaintInstall();
  ButtonTextures();
  WelcomeL.Parent:= WizardForm;
  WelcomeL1.Parent:= WizardForm;
  Finished1.Parent:= WizardForm;
  FinishedLabel.Parent:= WizardForm;
  ClickURL();
end;
Procedure CurPageChanged(CurPageID: Integer);
Begin
  UpdateButtons(CurPageID);
  WizardForm.WizardBitmapImage.Hide;
  WizardForm.Bevel1.visible:=True;
  WizardForm.Bevel.visible:=True;
  WizardForm.OuterNotebook.Show;
  WelcomeL.Hide;
  WelcomeL1.Hide;
  Finished1.Hide;
  FinishedLabel.Hide;
  URLLabel.Show;                      //показать кнопку ссылки везде, кроме страницы приветствия и страницы финиша
if CurPageID=wpWelcome then
begin
  WizardForm.Bevel1.visible:=False;
  WizardForm.Bevel.visible:=False;
  WizardForm.OuterNotebook.Hide;
  WizardForm.WizardBitmapImage.Show;
  WelcomeL.Show;
  WelcomeL1.Show;
  URLLabel.Hide;
end;
if CurPageID=wpFinished then
begin
  WizardForm.Bevel1.visible:=False;
  WizardForm.Bevel.visible:=False;
  WizardForm.OuterNotebook.Hide;
  WizardForm.WizardBitmapImage.Show;
  Finished1.Show;
  FinishedLabel.Show;
  URLLabel.Hide;
end;
end;
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Cancel:=True;
Confirm:=false;
end;
[Registry]
//Реестр DOW SS
Root: HKLM; Subkey: "Software\THQ"; Flags: createvalueifdoesntexist uninsdeletekeyifempty
/////////////////////////////////////////////////////DOW//////////////////////////////
Root: HKLM; Subkey: "Software\THQ\Dawn Of War"; Flags: createvalueifdoesntexist uninsdeletekey
Root: HKLM; Subkey: "Software\THQ\Dawn Of War"; ValueType: string; ValueName: "CDKEY"; ValueData: "3697-5fd2-5a76-0e44"
Root: HKLM; Subkey: "Software\THQ\Dawn Of War"; ValueType: string; ValueName: "CDKEY_WXP"; ValueData: "57a4-fae0-7611-1504-fa90"
Root: HKLM; Subkey: "Software\THQ\Dawn Of War"; ValueType: string; ValueName: "dawnofwar_ver"; ValueData: "1.51"
Root: HKLM; Subkey: "Software\THQ\Dawn Of War"; ValueType: string; ValueName: "installlocation"; ValueData: "{app}\DowOnlineRaceUnlocker\"
///////////////////////////////////////////////////////DOW DC/////////////////////////
Root: HKLM; Subkey: "Software\THQ\Dawn Of War - Dark Crusade"; Flags: createvalueifdoesntexist uninsdeletekey
Root: HKLM; Subkey: "Software\THQ\Dawn Of War - Dark Crusade"; ValueType: string; ValueName: "CDKEY"; ValueData: "3697-5fd2-5a76-0e44"
Root: HKLM; Subkey: "Software\THQ\Dawn Of War - Dark Crusade"; ValueType: string; ValueName: "installlocation"; ValueData: "{app}\DowOnlineRaceUnlocker\"
Root: HKLM; Subkey: "Software\THQ\Dawn Of War - Dark Crusade"; ValueType: string; ValueName: "w40kcdkey"; ValueData: "3697-5fd2-5a76-0e44"
Root: HKLM; Subkey: "Software\THQ\Dawn Of War - Dark Crusade"; ValueType: string; ValueName: "wxpcdkey"; ValueData: "57a4-fae0-7611-1504-fa90"
///////////////////////////////////////////////////////DOW SS/////////////////////////
Root: HKLM; Subkey: "Software\THQ\Dawn of War - Soulstorm"; Flags: createvalueifdoesntexist uninsdeletekey
Root: HKLM; Subkey: "Software\THQ\Dawn of War - Soulstorm"; ValueType: string; ValueName: "CDKEY"; ValueData: "BEEF-B00B-BABE-CAFE-80F1"
Root: HKLM; Subkey: "Software\THQ\Dawn of War - Soulstorm"; ValueType: string; ValueName: "dxp2cdkey"; ValueData: "8c34-5670-91a4-c2f2-bfca"
Root: HKLM; Subkey: "Software\THQ\Dawn of War - Soulstorm"; ValueType: string; ValueName: "InstallLocation"; ValueData: "{app}"
Root: HKLM; Subkey: "Software\THQ\Dawn of War - Soulstorm"; ValueType: string; ValueName: "w40kcdkey"; ValueData: "3697-5fd2-5a76-0e44"
Root: HKLM; Subkey: "Software\THQ\Dawn of War - Soulstorm"; ValueType: string; ValueName: "wxpcdkey"; ValueData: "57a4-fae0-7611-1504-fa90"
Root: HKLM; Subkey: "Software\THQ\Dawn of War - Soulstorm\1.00.0000"; Flags: createvalueifdoesntexist uninsdeletekey