#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