Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)

Модерирует : gyra, Maz

Widok (10-08-2009 22:13): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Shegorat



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
#include "SHFileOperation.iss"
 
[Setup]
AppName=The Sims™ 3
UninstallDisplayName={#SetupSetting("AppName")}
AppVerName=1.0.631
DefaultDirName={code:GetInstallPath}
UninstallFilesDir={pf}\InstallShield Installation Information\{{C05D8CDB-417D-4335-A38C-A0659EDFD6B8}
DefaultGroupName=Electronic Arts\The Sims™ 3
AppID={{C05D8CDB-417D-4335-A38C-A0659EDFD6B8}
Compression=lzma/ultra64
InternalCompressLevel=ultra64
DiskSliceSize=1561610132
ReserveBytes=0
MinVersion=0,5.01.2600sp1
AppVersion=1.0.631
VersionInfoVersion=1.0.631
VersionInfoCompany=Electronic Arts, Inc.
VersionInfoCopyright=Copyright © 2005-2009 Electronic Arts Inc.
AppPublisherURL=http://www.TheSims3.com
AppCopyright=Copyright © 2005-2009 Electronic Arts Inc.
AppPublisher=Electronic Arts
VersionInfoTextVersion=2009-06-19-1744 (by codebuilder on SIMS-BUILD141)
;SetupIconFile=E:\Мои документы\Мои Проекты\EA Games\Electronic Arts\Sims3.ico
UninstallDisplayIcon={app}\Game\Bin\eauninstall.ico
UserInfoPage=false
DisableDirPage=true
 
[Languages]
Name: RUS; MessagesFile: compiler:Languages\Russian.isl
 
[Types]
Name: full; Description: Полная установка
Name: custom; Description: Выборочная установка; Flags: iscustom
Name: compact; Description: Компактная установка
 
[Components]
Name: sicoca; Description: Перезагрузить скины, удалив файл кэша; Types: compact custom full; Flags: disablenouninstallwarning
Name: ts3; Description: Установить патчь ''NoCD'' для The Sims™ 3; Types: compact custom full
Name: resce; Description: Установить файл ''Resource.cfg''; Types: compact custom full
Name: unpt; Description: Установить патчь-антицензор; Types: compact custom full
Name: bdshop; Description: Создание персонажей в The Sims 3; Types: full; Flags: checkablealone Collapsed
Name: bdshop\ntabfma; Description: Обнаженное тело во всех разделах игры The Sims 3; Types: full; Flags: exclusive
Name: bdshop\ncssnr; Description: Обнаженное тело в разделах ''Ночное белье'' и ''Купальные костюмы''; Types: full; Flags: exclusive
Name: bdshop\wom; Description: Обнаженное тело взрослой женщины; Flags: checkablealone Collapsed; Types: full
Name: bdshop\wom\bbcm; Description: Прорисованная женская грудь; Types: full
Name: bdshop\wom\nbnbtr; Description: Невидимый бюстгальтер и топлес для женщин; Types: full; Flags: checkablealone Collapsed
Name: bdshop\wom\nbnbtr\nudetop; Description: Топлес для женского тела; Types: full
Name: bdshop\wom\nbnbtr\nude; Description: Бюстгальтер без бретелек; Types: full; Flags: checkablealone Collapsed
Name: bdshop\wom\nbnbtr\nude\braal; Description: Невидимый бюстгальтер (обычный бюстгальтер будет недоступен); Types: full; Flags: exclusive
Name: bdshop\wom\nbnbtr\nude\bram; Description: Бюстгальтер без бретелек в разделе ''Ночное белье''; Types: full; Flags: exclusive
Name: bdshop\itdstsr; Description: Текстуры тела с блеском кожи без лобковых волос; Types: full; Flags: exclusive checkablealone  Collapsed
Name: bdshop\itdstsr\insksh; Description: Натуральный блеск кожи; Types: full
Name: bdshop\itdstsr\motefama; Description: Мужское лицо в деталях; Types: full
Name: bdshop\itdstsr\motefafe; Description: Женское лицо в деталях; Types: full
Name: bdshop\itdstsr\iywdet; Description: Женское тело в деталях; Types: full; Flags: checkablealone Collapsed
Name: bdshop\itdstsr\iywdet\ffuba; Description: Женское тело, грудь без сосков; Types: full; Flags: exclusive
Name: bdshop\itdstsr\iywdet\fnion; Description: Женское тело, грудь с сосками; Types: full; Flags: exclusive
Name: bdshop\itdstsr\iywmal; Description: Мужское тело в деталях; Types: full; Flags: checkablealone Collapsed
Name: bdshop\itdstsr\iywmal\mfuba; Description: Мужское тело с сосками, без волос на теле; Types: full; Flags: exclusive
Name: bdshop\itdstsr\iywmal\mwiha; Description: Мужское тело с сосками и волосами на теле; Types: full; Flags: exclusive
Name: bdshop\itdtsr; Description: Текстуры тела с блеском кожи и лобковыми волосами; Types: full; Flags: exclusive
Name: gmmod; Description: Моды для игры The Sims 3; Types: full; Flags: checkablealone Collapsed
Name: gmmod\mdem; Description: Обнаженное тело взрослого мужчины; Types: full; Flags: checkablealone Collapsed
Name: gmmod\mdem\mesh1; Description: Взрослый мужчина без волос на теле; Types: full; Flags: exclusive
Name: gmmod\mdem\mesh0; Description: Взрослый мужчина с волосами на теле; Types: full; Flags: exclusive
Name: gmmod\mdem\dmenr; Description: Пенис для взрослого мужского тела; Types: full; Flags: checkablealone Collapsed
Name: gmmod\mdem\dmenr\mesh4; Description: Замена всего мужского тела; Types: full; Flags: exclusive
Name: gmmod\mdem\dmenr\mesh3; Description: Замена основных частей тела; Types: full; Flags: exclusive
Name: gmmod\mdem\dmenr\mesh2; Description: Пенис в состоянии эрекции; Types: full; Flags: exclusive
Name: gmmod\inteen; Description: INTEEN 3 MOD с обновлением; Types: full; Flags: checkablealone Collapsed
Name: gmmod\inteen\enab; Description: INTEEN 3 MOD - включает романтические опции; Types: full
Name: gmmod\inteen\updat; Description: Обновление для INTEEN 3 MOD; Types: full; Flags: checkablealone Collapsed
Name: gmmod\inteen\updat\tabmp; Description: Taboo Mod + Polygamy - включает полигамию; Types: full
Name: gmmod\inteen\updat\ubta; Description: Uber Taboo + Polygamy - полигамные связи со всеми; Types: full
Name: gmmod\alamft; Description: Материнство для подростков; Types: full
Name: gmmod\alamft; Description: Woohoo + беременность и брак для подростков; Types: full
Name: sims; Description: Готовые персонажи для The Sims 3; Types: full; Flags: checkablealone Collapsed
Name: sims\pahi; Description: Пэрис Хилтон; Types: full
 
[Files]
Source: ISSkin.dll; DestDir: {app}; Flags: dontcopy
Source: Vista.cjstyles; DestDir: {tmp}; Flags: dontcopy
Source: get_hw_caps.dll; Flags: dontcopy
Source: 1.bmp; DestDir: {tmp}; Flags: dontcopy
Source: InnoCallback.dll; Flags: dontcopy
;Source: descctrl.dll; DestDir: {tmp}; Flags: dontcopy
;Source: {app}\Game\Bin\eauninstall.ico; DestDir: {app}\Game\Bin; Flags: uninsneveruninstall external dontcopy
;Source: ..\Electronic Arts\The Sims 3\Resource.cfg; DestDir: {app}; Flags: ignoreversion; Components: gmmod\alamft gmmod\inteen\updat\ubta gmmod\inteen\updat\tabmp gmmod\inteen\enab gmmod\mdem\dmenr\mesh2 gmmod\mdem\dmenr\mesh3 gmmod\mdem\dmenr\mesh4 gmmod\mdem\mesh0 gmmod\mdem\mesh1 bdshop\itdtsr bdshop\itdstsr\iywmal\mwiha bdshop\itdstsr\iywmal\mfuba bdshop\itdstsr\iywdet\fnion bdshop\itdstsr\iywdet\ffuba bdshop\itdstsr\motefafe bdshop\itdstsr\motefama bdshop\itdstsr\insksh bdshop\wom\nbnbtr\nude\bram bdshop\wom\nbnbtr\nude\braal bdshop\wom\nbnbtr\nudetop bdshop\wom\bbcm bdshop\ncssnr bdshop\ntabfma gmmod\inteen\updat gmmod\inteen gmmod\mdem\dmenr gmmod\mdem bdshop\itdstsr\iywmal bdshop\itdstsr\iywdet bdshop\itdstsr bdshop\wom\nbnbtr\nude bdshop\wom\nbnbtr bdshop\wom
;Source: ..\Sims 3\Game Mods\Inteen 3\Taboo__Polygamy_UPDATED\Sanati's no jealousy mod (to be used in conjunction with TeenPregnancy mod).package; DestDir: {app}\Mods\Packages; Flags: ignoreversion; Components: gmmod\inteen\updat\tabmp
;Source: ..\Sims 3\Game Mods\Inteen 3\Taboo__Polygamy_UPDATED\TeenPregnancyNoJealousy (needs Sanati's no jealousy mod to work).package; DestDir: {app}\Mods\Packages; Flags: ignoreversion; Components: gmmod\inteen\updat\tabmp
;Source: ..\Sims 3\Game Mods\Inteen 3\Taboo__Polygamy_UPDATED\gameplay.package; DestDir: {app}\Game\Bin; Flags: ignoreversion; BeforeInstall: CreateBackup; Components: gmmod\inteen\updat\tabmp
;Source: ..\Sims 3\Game Mods\Inteen 3\Uber_Taboo__Polygamy_UPDATED\TeenPregnancyVers3.package; DestDir: {app}\Mods\Packages; Flags: ignoreversion; Components: gmmod\inteen\updat\ubta
;Source: ..\Sims 3\Game Mods\Inteen 3\Uber_Taboo__Polygamy_UPDATED\gameplay.package; DestDir: {app}\Game\Bin; Flags: ignoreversion; BeforeInstall: CreateBackup; Components: gmmod\inteen\updat\ubta
;Source: ..\Sims 3\Game Mods\Inteen 3\Inteen_3_-_UPDATED\TeenPregnancyVers3.package; DestDir: {app}\Mods\Packages; Flags: replacesameversion; Components: gmmod\inteen\updat
;Source: ..\Sims 3\Game Mods\Inteen 3\Inteen_3_-_UPDATED\gameplay.package; DestDir: {app}\Game\Bin; Flags: ignoreversion; BeforeInstall: CreateBackup; Components: gmmod\inteen\updat
;Source: ..\Sims 3\Game Mods\The Uncensored Patch\Shaders_Win32.precomp; DestDir: {app}\Game\Bin; Flags: ignoreversion; BeforeInstall: CreateBackup; Components: unpt
;Source: ..\Sims 3\TS3.exe; DestDir: {app}\Game\Bin; Flags: ignoreversion; BeforeInstall: CreateBackup; Components: ts3
 
[Registry]
Root: HKCU; Subkey: Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder; Flags: deletekey noerror
 
[CustomMessages]
RUS.BUT=Установить
RUS.SPACE=Доступно места на диске:
RUS.SPACE1=Требуется места на диске:
RUS.DRT=Обновить DirectX
RUS.UP=Идет обновление DirectX...
RUS.UninstallProgram=Удалить %1
 
[Code]
const
NeedVideo= 256000000;       //Видеопамять Byte
NeedRAM= 1024;      //Оперативная память  Mb
NeedProcessor= 2800;   //Процессор, частота Mg
NeedMemory= 2000;   //Файл подкачки  Mb
 
var
  DirectX, RunProgram: TCheckBox;
  SelectDirLabel, SelectDirLabelBrowse, RunProgramLabel, DirectXLabel: TLabel;
  PageNameLabel, PageNameLabel1, PageNameLabel2, PageNameLabel3, PageNameLabel4, PageNameLabel5, PageNameLabel6, PageNameLabel7, PageNameLabel8: TLabel;
  PageDescriptionLabel, PageDescriptionLabel1, PageDescriptionLabel2, PageDescriptionLabel3, PageDescriptionLabel4, PageDescriptionLabel5, PageDescriptionLabel6, PageDescriptionLabel7, PageDescriptionLabel8: TLabel;
  StatusLabel, FilenameLabel, NeedSpaceLabel,FreeSpaceLabel: TLabel;
  WelcomeLabel1, WelcomeLabel2,FinishedLabel, FinishedHeadingLabel: TLabel;
  SelectStartMenuFolderLabel, SelectStartMenuFolderBrowseLabel, ReadyLabel, NoIconsLabel: TLabel;
  LicenseLabel1, LicenseAcceptedLabel, LicenseNotAcceptedLabel: Tlabel;
  InfoBeforeClickLabel, InfoAfterClickLabel: TLabel;
  NeedSize:Integer;
  FreeMB, TotalMB: Cardinal;
  BmpFile: TBitmapImage;
  SystemPequirementPage: TWizardPage;
  RequirementLabel1,RequirementLabel2, SelectComponentsLabel:TLabel;
  PageID,ResultCode: Integer;
     
function GetLogicalDrives: DWORD;
external 'GetLogicalDrives@kernel32.dll stdcall';
 
function GetDriveType(nDrive: String): Longint;
external 'GetDriveTypeA@kernel32.dll stdcall';
 
function GetVideoCardName(): PChar;
external 'hwc_GetVideoCardName@files:get_hw_caps.dll stdcall';
 
function GetSoundCardName(): PChar;
external 'hwc_GetSoundCardName@files:get_hw_caps.dll stdcall';
 
function DetectHardware(): Integer;
external 'hwc_DetectHardware@files:get_hw_caps.dll stdcall';
 
function GetHardDriveFreeSpace(hdd: integer): Integer;
external 'hwc_GetHardDriveFreeSpace@files:get_hw_caps.dll stdcall';
 
function GetHardDriveName(hdd: integer): PChar;
external 'hwc_GetHardDriveName@files:get_hw_caps.dll stdcall';
 
function GetHardDriveTotalSpace(hdd: integer): Integer;
external 'hwc_GetHardDriveTotalSpace@files:get_hw_caps.dll stdcall';
 
function GetHardDrivesCount(): Integer;
external 'hwc_GetHardDrivesCount@files:get_hw_caps.dll stdcall';
 
function GetSoundCards(): Integer;
external 'hwc_GetSoundCards@files:get_hw_caps.dll stdcall';
 
function GetSystemPage(): Integer;
external 'hwc_GetSystemPage@files:get_hw_caps.dll stdcall';
 
function GetSystemPhys(): Integer;
external 'hwc_GetSystemPhys@files:get_hw_caps.dll stdcall';
 
function GetVidMemLocal(): Integer;
external 'hwc_GetVidMemLocal@files:get_hw_caps.dll stdcall';
 
function GetVidMemNonLocal(): Integer;
external 'hwc_GetVidMemNonLocal@files:get_hw_caps.dll stdcall';
 
function GetVideoCardDev(): Integer;
external 'hwc_GetVideoCardDev@files:get_hw_caps.dll stdcall';
 
function GetVideoCardVen(): Integer;
external 'hwc_GetVideoCardVen@files:get_hw_caps.dll stdcall';
 
function MoveFile(const srcFile, destFile: PChar): Integer;
external 'MoveFileA@kernel32.dll stdcall';
 
function  DelSp(const s:string):string;// функция удаления пробелов в начале строки
var
  c, i: integer;
  stt, st, st1: string;
begin
  c := 0;
  st := s;
 
  for i := 1 to Length(st) do
  begin
 
    stt := copy(st, i, 1);
    if (stt = ' ') and (c >= 1) then
    begin
      st1 := st1;
      c := c + 1;
    end
    else if (stt = ' ') and (c = 0) then
    begin
      c := c + 1;
      st1 := st1 + stt;
    end
    else if (stt <> ' ') then
    begin
      c := 0;
      st1 := st1 + stt;
    end
  end;
 
  Result:= st1;
end;
 
 
function CheckSystemPage(PreviousPageId: Integer): Integer;
var ProcessorName:string;
    Processor,VideoCardPanel,AudioCardPanel,RAMPanel,PageFilePanel: TPanel;
    ProcessorNamePanel,VideoCardNamePanel,AudioCardNamePanel,RAMTotalPanel,PageFileTotalPanel: TPanel;
    ProcessorMHZ: Cardinal;
    VidRam:integer;
begin
RegQueryStringValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0','ProcessorNameString', ProcessorName);
RegQueryDWordValue(HKLM, 'HARDWARE\DESCRIPTION\System\CentralProcessor\0','~MHz', ProcessorMHZ);
GetVidMemLocal;
GetSoundCards;
 
SystemPequirementPage := CreateCustomPage(PreviousPageId,'Апаратное Обеспечение','Программа установки обнаружила следуюшие необходимые компоненты');
 
Processor := TPanel.Create(SystemPequirementPage);
with Processor do
begin
Parent := SystemPequirementPage.Surface;
Caption := ' Процессор';
Left := ScaleX(40);
Top := ScaleY(102);
Font.Color:= clBlack;
alignment:=taLeftJustify;
Width := ScaleX(121);
Height := ScaleY(25);
BevelInner := bvLowered;
TabOrder := 0;
end;
 
ProcessorNamePanel := TPanel.Create(SystemPequirementPage);
with ProcessorNamePanel do
begin
Parent := SystemPequirementPage.Surface;
Caption :=DelSP(ProcessorName)+'  '+IntToStr(ProcessorMHZ)+'MHz' ;  //новое обработанное значение строки
// Caption :=ProcessorName+'  '+IntToStr(ProcessorMHZ)+'MHz' ;
Left := ScaleX(168);
Top := ScaleY(102);
Font.Color:= clBlack;
alignment:=taLeftJustify;
Width := ScaleX(281);
Height := ScaleY(25);
BevelInner := bvLowered;
Color :=$ccffcc;
TabOrder := 1;
end;
 
if ProcessorMHZ<NeedProcessor then
begin
ProcessorNamePanel.Color:=clRed;
RequirementLabel1.Caption:='Не все компоненты удовлетворяют требованиям игры.';
end;
 
VideoCardPanel:=TPanel.Create(SystemPequirementPage);
with VideoCardPanel do
begin
Parent:=SystemPequirementPage.Surface;
Caption:=' Видеоадаптер';
Left:=ScaleX(40);
Font.Color:= clBlack;
alignment:=taLeftJustify;
Top:=Processor.Top+27;
Width:=ScaleX(121);
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
end;
 
VideoCardNamePanel:=TPanel.Create(SystemPequirementPage);
with VideoCardNamePanel do
begin
Parent:=SystemPequirementPage.Surface;
Caption:=' '+GetVideoCardName; //+'    ОЗУ-'+inttostr(round(GetVidMemLocal/1000000))+' МБ';
//Caption:='    ОЗУ-'+inttostr(GetVidMemLocal)+' МБ';
VidrAM:= GetVidMemLocal/1000000;
 
if VidRam>127 then
begin
  if VidRam<200 then  Caption:=Caption+' 128 МB'
  else if VidRam<300 then  Caption:=Caption+' 256 МB'
    else if VidRam<400 then  Caption:=Caption+' 384 МB'
      else if  VidRam<600 then  Caption:=Caption+' 512 МB'
        else if  VidRam<700 then  Caption:=Caption+' 678 МB'
          else if  VidRam<800 then  Caption:=Caption+' 756 МB'
            else if  VidRam<1000 then  Caption:=Caption+' 884 МB'
              else if  VidRam<1100 then  Caption:=Caption+' 1024 МB'
                else if  VidRam<1200 then  Caption:=Caption+' 1152 МB'
                  else if  VidRam<1300 then  Caption:=Caption+' 1280 МB';
end;
 
Left:=ScaleX(168);
Top:=VideoCardPanel.Top;
Font.Color:= clBlack;
alignment:=taLeftJustify;
Width:=ScaleX(281);
Height:=ScaleY(25);
BevelInner:=bvLowered;
Color :=$ccffcc;
TabOrder:=1;
end;
 
if GetVidMemLocal<NeedVideo then //128MB
begin
RequirementLabel1.Caption:='Не все компоненты удовлетворяют требованиям игры.';
VideoCardNamePanel.Color:=clRed;
end;
 
AudioCardPanel:=TPanel.Create(SystemPequirementPage);
with AudioCardPanel do
begin
Parent:=SystemPequirementPage.Surface;
Caption:=' Звуковая карта';
Left:=ScaleX(40);
Top:=VideoCardPanel.Top+27;
Font.Color:= clBlack;
alignment:=taLeftJustify;
Width:=ScaleX(121);
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
end;
 
AudioCardNamePanel:=TPanel.Create(SystemPequirementPage);
with AudioCardNamePanel do
begin
Parent:=SystemPequirementPage.Surface;
Caption:=' '+GetSoundCardName;
Left:=ScaleX(168);
Font.Color:= clBlack;
alignment:=taLeftJustify;
Top:=AudioCardPanel.Top;
Width:=ScaleX(281);
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=1;
Color :=$ccffcc;
end;
 
if
GetSoundCards=0 then
begin
RequirementLabel1.Caption:='Не все компоненты удовлетворяют требованиям игры.';
AudioCardNamePanel.Color:=clRed;
end;
 
 
RAMPanel:=TPanel.Create(SystemPequirementPage);
with RAMPanel do
begin
Parent:=SystemPequirementPage.Surface;
Caption:=' ОЗУ'
Left:=40;
Top:=AudioCardPanel.Top+27;
Font.Color:= clBlack;
alignment:=taLeftJustify;
Width:=ScaleX(121);
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
end;
 
RAMTotalPanel:=TPanel.Create(SystemPequirementPage);
with RAMTotalPanel do
begin
Parent:=SystemPequirementPage.Surface;
Caption:=' '+IntToStr(GetSystemPhys+1) +' MB'
Left:=AudioCardNamePanel.Left;
Top:=RAMPanel.Top;
Font.Color:= clBlack;
alignment:=taLeftJustify;
Width:=AudioCardNamePanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=1;
Color :=$ccffcc;
end;
 
if GetSystemPhys+1<NeedRAM then
begin
RAMTotalPanel.Color:=clRed;
RequirementLabel1.Caption:='Не все компоненты удовлетворяют требованиям игры.';
end;
 
PageFilePanel:=TPanel.Create(SystemPequirementPage);
with PageFilePanel do
begin
Parent:=SystemPequirementPage.Surface;
Caption:=' Файл подкачки';
alignment:=taLeftJustify;
Left:=40;
Top:=RAMPanel.Top+27;
Font.Color:= clBlack;
Width:=RAMPanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=0;
end;
 
PageFileTotalPanel:=TPanel.Create(SystemPequirementPage);
with PageFileTotalPanel do
begin
Parent:=SystemPequirementPage.Surface;
Caption:=' '+IntToStr(GetSystemPage)+' MB';
Left:=RAMTotalPanel.Left;
Top:=PageFilePanel.Top;
Font.Color:= clBlack;
alignment:=taLeftJustify;
Width:=RAMTotalPanel.Width;
Height:=ScaleY(25);
BevelInner:=bvLowered;
TabOrder:=1;
Color :=$ccffcc;
end;
 
if GetSystemPage<NeedMemory then
begin
PageFileTotalPanel.Color:=clRed;
RequirementLabel1.Caption:='Не все компоненты удовлетворяют требованиям игры.';
end;
 
Result := SystemPequirementPage.ID;
end;
 
procedure CreateBackup;
var
  srcFile, destFile: string;
  basePath, shortPath: string;
begin
  if IsComponentSelected('ts3') or
     IsComponentSelected('unpt')or
     IsComponentSelected('gmmod\inteen\updat\tabmp') or
     IsComponentSelected('gmmod\inteen\updat\ubta') or
     IsComponentSelected('gmmod\inteen\updat') then
    begin
      basePath := ExpandConstant('{app}\Game\Bin');
      srcFile := ExpandConstant(CurrentFileName);
      shortPath := srcFile;
      StringChangeEx(shortPath, basePath, '', True);
      destFile := ExpandConstant('{app}\Game\Bin\Backup') + shortPath;
      ForceDirectories(ExtractFilePath(destFile));
      MoveFile(PChar(srcFile), PChar(destFile));
    end;
end;
 
function GetInstallPath( AppID: String ): String;
var Path: String;
begin
 Path:= '';
 if not RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{C05D8CDB-417D-4335-A38C-A0659EDFD6B8}','InstallLocation', Path) then
        RegQueryStringValue(HKLM, 'SOFTWARE\Sims\The Sims 3','Install Dir', Path);
        Result := Path;
end;
 
function InstallDirectX: Boolean;
begin
  Result:= DirectX.Checked;
end;
 
function InstallRedist: Boolean;
begin
  Result:=Redist.Checked;
end;
 
function CreateIcons: Boolean;
begin
  Result:=Icons.Checked;
end;
 
function GroupIcons: Boolean;
begin
  Result:=Group.Checked;
end;
 
function Run: Boolean;
begin
  Result:=RunProgram.Checked;
end;
 
// задал процедуру, чтоб отмечался чебокс еси кликнуть по надписи lblCheckBox
procedure RedistOnClick(Sender: TObject);
begin
  if Redist.Checked = False then
    Redist.Checked:= True else
  Redist.Checked:= False;
end;
 
procedure DirectXLabelOnClick(Sender: TObject);
begin
  if DirectX.Checked = False then
    DirectX.Checked:= True else
  DirectX.Checked:= False;
end;
 
procedure IconsOnClick(Sender: TObject);
begin
  if Icons.Checked = False then
    Icons.Checked:= True else
  Icons.Checked:= False;
end;
 
procedure GroupOnClick(Sender: TObject);
begin
  if Group.Checked = False then
    Group.Checked:= True else
  Group.Checked:= False;
end;
 
procedure RunProgramOnClick(Sender: TObject);
begin
  if RunProgram.Checked = False then
    RunProgram.Checked:= True else
  RunProgram.Checked:= False;
end;
 
Procedure NoIconsLabelOnClick (Sender: TObject);
begin
WizardForm.NoIconsCheck.Checked:=Not(WizardForm.NoIconsCheck.Checked)
end;
 
procedure LicenceAcceptedRadioOnClick(Sender: TObject);
begin
  WizardForm.NextButton.Enabled:=True
end;
 
procedure LicenceNotAcceptedRadioOnClick(Sender: TObject);
begin
  WizardForm.NextButton.Enabled:=False
end;
 
Procedure YesRadioOnClick (Sender: TObject);
begin
WizardForm.LicenseAcceptedRadio.Checked:=True
end;
 
Procedure NoRadioOnClick (Sender: TObject);
begin
WizardForm.LicenseNotAcceptedRadio.Checked:=True
end;
// задал процедуру, чтоб отмечался чебокс еси кликнуть по надписи lblCheckBox
//Свободное место
procedure GetFreeSpaceCaption(Sender: TObject);
var
  Path: String;
begin
  Path := ExtractFileDrive(WizardForm.DirEdit.Text);
  GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
  if FreeMB > 1024 then
    FreeSpaceLabel.Caption := ExpandConstant('{cm:SPACE} ')+ FloatToStr(round(FreeMB/1024*100)/100) + ' GB' else
    FreeSpaceLabel.Caption := ExpandConstant('{cm:SPACE} ')+ IntToStr(FreeMB)+ ' MB';
  if FreeMB < NeedSize then
    WizardForm.NextButton.Enabled := False else
  WizardForm.NextButton.Enabled := True;
end;
 
procedure GetNeedSpaceCaption;
begin
  if NeedSize > 1024 then
    NeedSpaceLabel.Caption := ExpandConstant('{cm:SPACE1} ')+ FloatToStr(round(NeedSize/1024*100)/100) + ' GB' else
  NeedSpaceLabel.Caption := ExpandConstant('{cm:SPACE1} ')+ IntToStr(NeedSize)+ ' MB';
end;
//Свободное место
procedure FilenameExt();
begin
FilenameLabel.Caption:= ExpandConstant(ExtractFileDir(CurrentFilename)) + '\' + ExtractFilename(CurrentFilename);
end;
//Загрузка скина
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';
 
 
procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';
 
 
function ShowWindow(hWnd: Integer; uType: Integer): Integer;
external 'ShowWindow@user32.dll stdcall';
 
function InitializeSetup(): Boolean;
begin
    ExtractTemporaryFile('Vista.cjstyles');
    LoadSkin(ExpandConstant('{tmp}\Vista.cjstyles'), '');
    Result := True;
if (FileSearch('Game\Bin\TS3.exe', ExpandConstant('{code:GetInstallPath}')) = '') then
 begin
  MsgBox('Для установки этого дополнения требуется предварительная установка игры {#SetupSetting("AppName")}.' #13#13
         'Установите {#SetupSetting("AppName")}, после этого продолжите установку дополнения.' ,mbCriticalError , mb_Ok);
  Result:= False;
  exit;
 end
end;
 
procedure DeinitializeSetup();
begin
 ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
    UnloadSkin();
 if (PageID=wpFinished) and (RunProgram.Checked)
    then Exec(ExpandConstant('{app}\Game\Bin\Sims3Launcher.exe'), '', '', SW_SHOWNORMAL, ewNoWait, ResultCode);
 if (PageID=wpFinished) and (DirectX.Checked)
 then Exec(ExpandConstant('{src}\DirectX\DXSETUP.exe'), '/silent', 'ExpandConstant(''{src}\DirectX\'')', SH_SHOWHIDE, ewNoWait, ResultCode)
end;
//Загрузка скина
 
procedure InitializeWizard();
begin
  ExtractTemporaryFile('1.bmp');
  CheckSystemPage(wpLicense);
 
  NeedSize:= 7980;
 
  BmpFile:= TBitmapImage.Create(WizardForm);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
  BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= WizardForm.WelcomePage;
 
  BmpFile:= TBitmapImage.Create(WizardForm);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
  BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= WizardForm.LicensePage;
 
  BmpFile:= TBitmapImage.Create(SystemPequirementPage);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
  BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= SystemPequirementPage.Surface;
 
  BmpFile:= TBitmapImage.Create(WizardForm);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
  BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= WizardForm.InfoBeforePage;
 
  BmpFile:= TBitmapImage.Create(WizardForm);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
  BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= WizardForm.SelectComponentsPage;
   
  BmpFile:= TBitmapImage.Create(WizardForm);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
  BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= WizardForm.SelectDirPage;
 
  BmpFile:= TBitmapImage.Create(WizardForm);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
  BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= WizardForm.InstallingPage;
 
  BmpFile:= TBitmapImage.Create(WizardForm);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
  BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= WizardForm.InfoAfterPage;
 
  BmpFile:= TBitmapImage.Create(WizardForm);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
  BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= WizardForm.FinishedPage;
 
  BmpFile:= TBitmapImage.Create(WizardForm);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
  BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= WizardForm.SelectProgramGroupPage;
 
  BmpFile:= TBitmapImage.Create(WizardForm);
  BmpFile.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
  BmpFile.SetBounds(0, 0, 497, 360);
  BmpFile.Stretch:= true
  BmpFile.Parent:= WizardForm.ReadyPage;
 
  with WizardForm do
  begin
    PageNameLabel.Hide;
    PageDescriptionLabel.Hide;
    WelcomeLabel1.Hide;
    WelcomeLabel2.Hide;
    DiskSpaceLabel.Hide;
    SelectDirBitmapImage.Hide;
    SelectDirBrowseLabel.Hide;
    SelectDirLabel.Hide;
    FinishedHeadingLabel.Hide;
    FinishedLabel.Hide;
    MainPanel.Hide
    FilenameLabel.Hide;
    StatusLabel.Hide;
    SelectStartMenuFolderLabel.Hide;
    SelectStartMenuFolderBrowseLabel.Hide;
    ReadyLabel.Hide;
    LicenseLabel1.Hide;
    InfoBeforeClickLabel.Hide;
    InfoAfterClickLabel.Hide;
    SelectComponentsLabel.Hide;
    ComponentsDiskSpaceLabel.Hide;
  end;
 
  with WizardForm do
   begin
    DirBrowseButton.Left:= DirBrowseButton.Left + ScaleX(40);
    DirBrowseButton.Top:= DirBrowseButton.Top + ScaleY(72);
    DirEdit.Left:= DirEdit.Left + ScaleX(40);
    DirEdit.Top:= DirEdit.Top + ScaleY(72);
    GroupBrowseButton.Left:= GroupBrowseButton.Left + ScaleX(40);
    GroupBrowseButton.Top:= GroupBrowseButton.Top + ScaleY(72);
    GroupEdit.Left:= GroupEdit.Left + ScaleX(40);
    GroupEdit.Top:= GroupEdit.Top + ScaleX(72);
    GroupEdit.Color:= ClBlack
    NextButton.BringToFront;
    BackButton.BringToFront;
    CancelButton.BringToFront;
    Font.Style:=[];
    Font.Name:= 'MS Sans Serif';
    DirEdit.Color:=clBlack;
    DirEdit.Font.Color:= clWhite;
    Font.Color:=clBlack;
    ProgressGauge.Top:=ScaleY(120);
    ProgressGauge.Left:=ScaleX(20);
    ProgressGauge.Width:=ScaleX(457);
    ReadyMemo.Left:=ScaleX(40);
    ReadyMemo.Top:= WizardForm.ReadyMemo.Top + ScaleY(72)
    ReadyMemo.Font.Color:= clBlack;
    ReadyMemo.ScrollBars:= ssVertical;    //ssNone
   end;
 
  with WizardForm do
   begin
    InnerNotebook.Left := ScaleX(0);
    InnerNotebook.Top := ScaleY(0);
    InnerNotebook.Width := ScaleX(497);
    InnerNotebook.Height := ScaleY(360);
    OuterNotebook.Left := ScaleX(0);
    OuterNotebook.Top := ScaleY(0);
    OuterNotebook.Width := ScaleX(497);
    OuterNotebook.Height := ScaleY(360);
   end;
   //WelcomePage
  WelcomeLabel1:= TLabel.Create(WizardForm);
  with WelcomeLabel1 do
  begin
    Left:= ScaleX(176);
    Top:= ScaleY(66);
    Width:= ScaleX(301);
    Height:= ScaleY(71);
    AutoSize:= false;
    Transparent:= true;
    WordWrap:= true;
    Font.Size:= 14;
    Font.Color:=clBlack
    Font.Style := [fsBold]
    Parent:= WizardForm.WelcomePage;
    Caption:= WizardForm.WelcomeLabel1.Caption;
 end;
 
  WelcomeLabel2:=TLabel.Create(WizardForm);
  with WelcomeLabel2 do
  begin
    Top:= ScaleY(136);
    Left:= ScaleX(176);
    Width:= ScaleX(301);
    Height:= ScaleY(300);
    AutoSize:= false;
    WordWrap:= true;
    Transparent:= true;
    Parent:= WizardForm.WelcomePage;
    Caption:= WizardForm.WelcomeLabel2.Caption;
end;
//WelcomePage
//licensePage
  LicenseLabel1:=TLabel.Create(WizardForm)
  with LicenseLabel1 do
  begin
    Left:=40
    Top:=70
    Width:=465
    Height:=28
    AutoSize:=False
    WordWrap:=True
    Transparent:=True
    Caption:=WizardForm.LicenseLabel1.Caption
    Parent:=WizardForm.LicensePage
  end;
 
  WizardForm.LicenseMemo.Left:=40
  WizardForm.LicenseMemo.Top:=108
  WizardForm.LicenseMemo.Parent:=WizardForm.LicensePage
 
  WizardForm.LicenseAcceptedRadio.Left:=40
  WizardForm.LicenseAcceptedRadio.Top:=265
  WizardForm.LicenseAcceptedRadio.Width:=14
  WizardForm.LicenseAcceptedRadio.Height:=14
  WizardForm.LicenseAcceptedRadio.Color:=clBlack
  WizardForm.LicenseAcceptedRadio.Parent:=WizardForm.LicensePage
 
  LicenseAcceptedLabel:=TLabel.Create(WizardForm)
  with LicenseAcceptedLabel do
  begin
    Left:=56
    Top:=265
    Transparent:=True
    Caption:=WizardForm.LicenseAcceptedRadio.Caption
    Parent:=WizardForm.LicensePage
    OnClick:= @YesRadioOnClick
  end;
 
  WizardForm.LicenseNotAcceptedRadio.Left:=40
  WizardForm.LicenseNotAcceptedRadio.Top:=285
  WizardForm.LicenseNotAcceptedRadio.Width:=14
  WizardForm.LicenseNotAcceptedRadio.Height:=14
  WizardForm.LicenseNotAcceptedRadio.Color:=clBlack
  WizardForm.LicenseNotAcceptedRadio.Parent:=WizardForm.LicensePage
 
  LicenseNotAcceptedLabel:=TLabel.Create(WizardForm)
  with LicenseNotAcceptedLabel do
  begin
    Left:=56
    Top:=285
    Transparent:=True
    Caption:=WizardForm.LicenseNotAcceptedRadio.Caption
    Parent:=WizardForm.LicensePage;
    OnClick:= @NoRadioOnClick;
  end;
 
  PageNameLabel:= TLabel.Create(WizardForm);
  with PageNameLabel do
  begin
    Left:= WizardForm.PageNameLabel.Left;
    Top:= WizardForm.PageNameLabel.Top;
    Width:= ScaleX(300);
    Height:= ScaleY(14);
    AutoSize:= False;
    Font.Style:= [fsBold];
    Font.Color:= clBlack;
    Transparent := True;
    Parent:= WizardForm.LicensePage;
 end;
 
  PageDescriptionLabel:= TLabel.Create(WizardForm);
  with PageDescriptionLabel do
  begin
    Left:= WizardForm.PageDescriptionLabel.Left;
    Top:= WizardForm.PageDescriptionLabel.top;
    Width:= ScaleX(400);
    Height:= WizardForm.PageDescriptionLabel.Height;
    AutoSize:= False;
    Wordwrap:= True;
    Transparent := True;
    Parent:= WizardForm.LicensePage;
  end;
//LicensePage
//SystemRequirementPage
  RequirementLabel1:=TLabel.Create(SystemPequirementPage);
  with RequirementLabel1 do
  begin
    Parent:=SystemPequirementPage.Surface;
    Caption:='Все компоненты удовлетворяют требованиям игры.';
    Left:=40;
    Top:=65;
    Height:=14
    Width:=360
    AutoSize:=False;
    Transparent:= true;
    WordWrap:= true;
  end;
 
  RequirementLabel2:=TLabel.Create(SystemPequirementPage);
  with RequirementLabel2 do
  begin
    Parent:=SystemPequirementPage.Surface;
    Caption:='Когда будете готовы продолжить установку, нажмите «Далее»'
    Left:=40;
    Top:=280;
    Height:=14
    Width:=360
    AutoSize:=False;
    Transparent:= true;
    WordWrap:= true;
  end;
 
  PageNameLabel1:= TLabel.Create(SystemPequirementPage);
  with PageNameLabel1 do
  begin
    Left:= WizardForm.PageNameLabel.Left;
    Top:= WizardForm.PageNameLabel.Top;
    Width:= ScaleX(300);
    Height:= ScaleY(14);
    AutoSize:= False;
    Font.Style:= [fsBold];
    Font.Color:= clBlack;
    Transparent := True;
    Parent:= SystemPequirementPage.Surface;
 end;
 
  PageDescriptionLabel1:= TLabel.Create(SystemPequirementPage);
  with PageDescriptionLabel1 do
  begin
    Left:= WizardForm.PageDescriptionLabel.Left;
    Top:= WizardForm.PageDescriptionLabel.top;
    Width:= ScaleX(400);
    Height:= WizardForm.PageDescriptionLabel.Height;
    AutoSize:= False;
    Wordwrap:= True;
    Transparent := True;
    Parent:= SystemPequirementPage.Surface;
  end;
//SystemRequirementPage
//ComponentsPage
  SelectComponentsLabel:= TLabel.Create(WizardForm);
  with SelectComponentsLabel do
  begin
    Left:= ScaleX(40);
    Top:= ScaleY(70);
    Width:= WizardForm.SelectComponentsLabel.Width;
    Height:= WizardForm.SelectComponentsLabel.Height;
    Autosize:= false;
    WordWrap:= true;
    Transparent:= true;
    Parent:= WizardForm.SelectComponentsPage;
    Caption:= WizardForm.SelectComponentsLabel.Caption;
  end;
   
  WizardForm.ComponentsList.Left:= ScaleX(40);
  WizardForm.ComponentsList.Top:= ScaleY(148);
  WizardForm.ComponentsList.Font.Color:= clBlack
  WizardForm.ComponentsList.Color:= clWindow
  WizardForm.TypesCombo.Left:= ScaleX(40);
  WizardForm.TypesCombo.Top:= ScaleY(120)
  WizardForm.TypesCombo.Font.Color:= ClBlack;
 
  PageNameLabel2:= TLabel.Create(WizardForm);
  with PageNameLabel2 do
  begin
    Left:= WizardForm.PageNameLabel.Left;
    Top:= WizardForm.PageNameLabel.Top;
    Width:= ScaleX(300);
    Height:= ScaleY(14);
    AutoSize:= False;
    Font.Style:= [fsBold];
    Font.Color:= clBlack;
    Transparent := True;
    Parent:= WizardForm.InfoBeforePage;
 end;
 
  PageDescriptionLabel2:= TLabel.Create(WizardForm);
  with PageDescriptionLabel2 do
  begin
    Left:= WizardForm.PageDescriptionLabel.Left;
    Top:= WizardForm.PageDescriptionLabel.top;
    Width:= ScaleX(400);
    Height:= WizardForm.PageDescriptionLabel.Height;
    AutoSize:= False;
    Wordwrap:= True;
    Transparent := True;
    Parent:= WizardForm.InfoBeforePage;
  end;
//ComponentsPage
//InfoBeforePage
  InfoBeforeClickLabel:= TLabel.Create(WizardForm);
  with InfoBeforeClickLabel do
  begin
  Left:= ScaleX(40);
  Top:= ScaleY(70)
  Width:= WizardForm.InfoBeforeClickLabel.Width;
  Height:= WizardForm.InfoBeforeClickLabel.Height;
  Transparent:= true;
  AutoSize:= False;
  WordWrap:= true;
  Parent:= WizardForm.InfoBeforePage;
  Caption:= WizardForm.InfoBeforeClickLabel.Caption;
  end;
 
  WizardForm.InfoBeforeMemo.left:= ScaleX(40);
  WizardForm.InfoBeforeMemo.Top:= ScaleY(108);
 
  PageNameLabel3:= TLabel.Create(WizardForm);
  with PageNameLabel3 do
  begin
    Left:= WizardForm.PageNameLabel.Left;
    Top:= WizardForm.PageNameLabel.Top;
    Width:= ScaleX(300);
    Height:= ScaleY(14);
    AutoSize:= False;
    Font.Style:= [fsBold];
    Font.Color:= clBlack;
    Transparent := True;
    Parent:= WizardForm.InfoBeforePage;
 end;
 
  PageDescriptionLabel3:= TLabel.Create(WizardForm);
  with PageDescriptionLabel3 do
  begin
    Left:= WizardForm.PageDescriptionLabel.Left;
    Top:= WizardForm.PageDescriptionLabel.top;
    Width:= ScaleX(400);
    Height:= WizardForm.PageDescriptionLabel.Height;
    AutoSize:= False;
    Wordwrap:= True;
    Transparent := True;
    Parent:= WizardForm.InfoBeforePage;
  end;
//InfoBeforePage
//SelectDirPage
  SelectDirLabel:= TLabel.Create(WizardForm);
  with SelectDirLabel do
  begin
    Caption:= WizardForm.SelectDirLabel.Caption;
    Left:= ScaleX(40);
    Top:= WizardForm.SelectDirLabel.Top + ScaleY(62);
    Width:= WizardForm.SelectDirLabel.Width;
    Height:= WizardForm.SelectDirLabel.Height;
    Transparent := True;
    Parent:= WizardForm.SelectDirPage;
  end;
 
  SelectDirLabelBrowse:= TLabel.Create(WizardForm);
  with SelectDirLabelBrowse do
  begin
    Caption:= WizardForm.SelectDirBrowseLabel.Caption;
    Left:= ScaleX(40);
    Top:= WizardForm.SelectDirBrowseLabel.Top + ScaleY(62);
    Width:= WizardForm.SelectDirBrowseLabel.Width;
    Height:= WizardForm.SelectDirBrowseLabel.Height;
    WordWrap:= True;
    Transparent:= True;
    Parent:= WizardForm.SelectDirPage;
  end;
 
  PageNameLabel4:= TLabel.Create(WizardForm);
  with PageNameLabel4 do
  begin
    Left:= WizardForm.PageNameLabel.Left;
    Top:= WizardForm.PageNameLabel.Top;
    Width:= ScaleX(300);
    Height:= ScaleY(14);
    AutoSize:= False;
    Font.Style:= [fsBold];
    Font.Color:= clBlack;
    Transparent := True;
    Parent:= WizardForm.SelectDirPage;
 end;
 
  PageDescriptionLabel4:= TLabel.Create(WizardForm);
  with PageDescriptionLabel4 do
  begin
    Left:= WizardForm.PageDescriptionLabel.Left;
    Top:= WizardForm.PageDescriptionLabel.top;
    Width:= ScaleX(400);
    Height:= WizardForm.PageDescriptionLabel.Height;
    AutoSize:= False;
    Wordwrap:= True;
    Transparent := True;
    Parent:= WizardForm.SelectDirPage;
  end;
 
  NeedSpaceLabel:= TLabel.Create(WizardForm);
  with NeedSpaceLabel do
  begin
    Parent:= WizardForm.SelectDirPage;
    Left:= WizardForm.DirEdit.Left;
    Top:= ScaleY(262);
    Width:= ScaleX(209);
    Height:= ScaleY(13);
    Transparent:= True;
  end;
 
  FreeSpaceLabel:= TLabel.Create(WizardForm);
  with FreeSpaceLabel do
  begin
    Parent:= WizardForm.SelectDirPage;
    Left:= WizardForm.DirEdit.Left;
    Top:= ScaleY(280);
    Width:= ScaleX(209);
    Height:= ScaleY(13);
    Transparent:= True;
  end;
 
  WizardForm.DirEdit.OnChange:= @GetFreeSpaceCaption;
  WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text + #0;
  //SelectDirPage
  //ProgrammGroupPage
  SelectStartMenuFolderLabel:=TLabel.Create(WizardForm)
  with SelectStartMenuFolderLabel do
  begin
    Left:= ScaleX(40);
    Top:= WizardForm.SelectDirLabel.Top + ScaleY(62);
    Width:= WizardForm.SelectDirBrowseLabel.Width;
    Height:= WizardForm.SelectDirBrowseLabel.Height;
    AutoSize:=False
    WordWrap:=True
    Transparent:=True
    Caption:=WizardForm.SelectStartMenuFolderLabel.Caption
    Parent:=WizardForm.SelectProgramGroupPage
  end;
 
  SelectStartMenuFolderBrowseLabel:=TLabel.Create(WizardForm)
  with SelectStartMenuFolderBrowseLabel do
  begin
    Left:= ScaleX(40);
    Top:= WizardForm.SelectDirBrowseLabel.Top + ScaleY(62);
    Width:= WizardForm.SelectDirBrowseLabel.Width
    Height:= WizardForm.SelectDirBrowseLabel.Height
    AutoSize:=False
    WordWrap:=True
    Transparent:=True
    Caption:=WizardForm.SelectStartMenuFolderBrowseLabel.Caption
    Parent:=WizardForm.SelectProgramGroupPage
  end;
 
  WizardForm.NoIconsCheck.Left:=ScaleX(40);
  WizardForm.NoIconsCheck.Top:= WizardForm.DirEdit.Top + ScaleY(140)
  WizardForm.NoIconsCheck.Width:=13
  WizardForm.NoIconsCheck.Height:=13
  WizardForm.NoIconsCheck.Visible:=True
  WizardForm.NoIconsCheck.Parent:= WizardForm.SelectProgramGroupPage
 
  NoIconsLabel:=TLabel.Create(WizardForm)
  with NoIconsLabel do
  begin
    Left:=ScaleX(56);
    Top:= WizardForm.DirEdit.Top + ScaleY(140)
    Transparent:=True
    OnClick:= @NoIconsLabelOnClick
    Caption:=WizardForm.NoIconsCheck.Caption
    Parent:=WizardForm.SelectProgramGroupPage
  end;
 
  PageNameLabel5:= TLabel.Create(WizardForm);
  with PageNameLabel5 do
  begin
    Left:= WizardForm.PageNameLabel.Left;
    Top:= WizardForm.PageNameLabel.Top;
    Width:= ScaleX(300);
    Height:= ScaleY(14);
    AutoSize:= False;
    Font.Style:= [fsBold];
    Font.Color:= clBlack;
    Transparent := True;
    Parent:= WizardForm.SelectProgramGroupPage;
 end;
 
  PageDescriptionLabel5:= TLabel.Create(WizardForm);
  with PageDescriptionLabel5 do
  begin
    Left:= WizardForm.PageDescriptionLabel.Left;
    Top:= WizardForm.PageDescriptionLabel.top;
    Width:= ScaleX(400);
    Height:= WizardForm.PageDescriptionLabel.Height;
    AutoSize:= False;
    Wordwrap:= True;
    Transparent := True;
    Parent:= WizardForm.SelectProgramGroupPage;
  end;
  //ProgrammGroupPage
  //ReadyPage
  ReadyLabel:= TLabel.Create(WizardForm);
  with ReadyLabel do
  begin
    Left:= ScaleX(40);
    Top:= ScaleY(70);
    Width:= ScaleX(325);
    Height:= ScaleY(30);
    AutoSize:= False;
    Transparent:= true;
    Caption:= 'Нажмите «Установить», чтобы продолжить, или «Назад», если Вы хотите' + #10 + 'просмотреть или изменить опции установки.'
    Parent:= WizardForm.ReadyPage;
  end;
 
  PageNameLabel6:= TLabel.Create(WizardForm);
  with PageNameLabel6 do
  begin
    Left:= WizardForm.PageNameLabel.Left;
    Top:= WizardForm.PageNameLabel.Top;
    Width:= ScaleX(300);
    Height:= ScaleY(14);
    AutoSize:= False;
    Font.Style:= [fsBold];
    Font.Color:= clBlack;
    Transparent := True;
    Parent:= WizardForm.ReadyPage;
 end;
 
  PageDescriptionLabel6:= TLabel.Create(WizardForm);
  with PageDescriptionLabel6 do
  begin
    Left:= WizardForm.PageDescriptionLabel.Left;
    Top:= WizardForm.PageDescriptionLabel.top;
    Width:= ScaleX(400);
    Height:= WizardForm.PageDescriptionLabel.Height;
    AutoSize:= False;
    Wordwrap:= True;
    Transparent := True;
    Parent:= WizardForm.ReadyPage;
  end;
  //ReadyPage
  //InstallingPage
    StatusLabel:= TLabel.Create(WizardForm);
  with StatusLabel do
  begin
    Left:= ScaleX(20);
    Top:= ScaleY(80);
    Width:= WizardForm.StatusLabel.Width;
    Height:= WizardForm.StatusLabel.Height;
    AutoSize:= False;
    Transparent := True;
    Parent:= WizardForm.InstallingPage;
    Caption:= 'Распаковка файлов...'
   end;
 
    FilenameLabel:= TLabel.Create(WizardForm);
  with FilenameLabel do
  begin
    Left:= ScaleX(20);
    Top:= ScaleY(100);
    Width:= WizardForm.StatusLabel.Width;
    Height:= WizardForm.StatusLabel.Height;
    AutoSize:= False;
    Transparent := True;
    Parent:= WizardForm.InstallingPage;
   end;
 
  PageNameLabel7:= TLabel.Create(WizardForm);
  with PageNameLabel7 do
  begin
    Left:= WizardForm.PageNameLabel.Left;
    Top:= WizardForm.PageNameLabel.Top;
    Width:= ScaleX(300);
    Height:= ScaleY(14);
    AutoSize:= False;
    Font.Style:= [fsBold];
    Font.Color:= clBlack;
    Transparent := True;
    Parent:= WizardForm.InstallingPage;
 end;
 
  PageDescriptionLabel7:= TLabel.Create(WizardForm);
  with PageDescriptionLabel7 do
  begin
    Left:= WizardForm.PageDescriptionLabel.Left;
    Top:= WizardForm.PageDescriptionLabel.top;
    Width:= ScaleX(400);
    Height:= WizardForm.PageDescriptionLabel.Height;
    AutoSize:= False;
    Wordwrap:= True;
    Transparent := True;
    Parent:= WizardForm.InstallingPage;
  end;
  //InstallingPage
  //InfoAfterPage
   InfoAfterClickLabel:= TLabel.Create(WizardForm);
   with InfoAfterClickLabel do
   begin
    Left:= ScaleX(40);
    Top:= ScaleY(70)
    Width:= WizardForm.InfoAfterClickLabel.Width;
    Height:= WizardForm.InfoAfterClickLabel.Height;
    Transparent:= true;
    AutoSize:= False;
    WordWrap:= true;
    Parent:= WizardForm.InfoAfterPage;
    Caption:= WizardForm.InfoAfterClickLabel.Caption;
   end;
 
  WizardForm.InfoAfterMemo.left:= ScaleX(40);
  WizardForm.InfoAfterMemo.Top:= ScaleY(108);
 
  PageNameLabel8:= TLabel.Create(WizardForm);
  with PageNameLabel8 do
  begin
    Left:= WizardForm.PageNameLabel.Left;
    Top:= WizardForm.PageNameLabel.Top;
    Width:= ScaleX(300);
    Height:= ScaleY(14);
    AutoSize:= False;
    Font.Style:= [fsBold];
    Font.Color:= clBlack;
    Transparent := True;
    Parent:= WizardForm.InfoAfterPage;
 end;
 
  PageDescriptionLabel8:= TLabel.Create(WizardForm);
  with PageDescriptionLabel8 do
  begin
    Left:= WizardForm.PageDescriptionLabel.Left;
    Top:= WizardForm.PageDescriptionLabel.top;
    Width:= ScaleX(400);
    Height:= WizardForm.PageDescriptionLabel.Height;
    AutoSize:= False;
    Wordwrap:= True;
    Transparent := True;
    Parent:= WizardForm.InfoAfterPage;
  end;
  //InfoAfterPage
  //FinishedPage
  FinishedHeadingLabel:=TLabel.Create(WizardForm);
  with FinishedHeadingLabel do
  begin
    Top:= ScaleY(66);
    Left:= ScaleX(176);
    Width:= ScaleX(301);
    Height:= ScaleY(53);
    AutoSize:= false;
    WordWrap:= true;
    Font.Size:= 14;
    Font.Color:=clBlack
    Font.Style := [fsBold]
    Transparent:= true;
    Parent:= WizardForm.FinishedPage;
    Caption:= WizardForm.FinishedHeadingLabel.Caption;
  end;
 
  FinishedLabel:= TLabel.Create(WizardForm);
  with FinishedLabel do
  begin
    Left:= ScaleX(176);
    Top:= ScaleY(136);
    Width:= ScaleX(301);
    Height:= ScaleY(54);
    AutoSize:= false;
    WordWrap:= true;
    Transparent:= true;
    Parent:= WizardForm.FinishedPage;
    Caption:= 'Дополнение к игре The Sims™ 3 установлено на Ваш компьютер.' + #10#13#10 + 'Нажмите «Завершить», чтобы выйти из программы' + #10 + 'установки.'
  end;
 
  RunProgram:= TCheckBox.Create(WizardForm);
  with RunProgram do
  begin
    Parent:= WizardForm.FinishedPage;
    Left:= ScaleX(176);
    Top:= ScaleY(200);
    Width:= ScaleX(14);
    Height:= ScaleY(14);
    TabOrder:= 4;
    Checked:= True;
  end;
 
  RunProgramLabel:= TLabel.Create(WizardForm);
  with RunProgramLabel do
  begin
    Caption:='Запустить The Sims™ 3';
    Left:= ScaleX(196);
    Top:= ScaleY(200);
    Width:= ScaleX(150);
    Height:= ScaleY(13);
    Transparent := True;
    Parent:= WizardForm.FinishedPage;
    OnClick:= @RunProgramOnClick;
  end;
 
  DirectX:= TCheckBox.Create(WizardForm);
  with DirectX do
  begin
    Parent:= WizardForm.FinishedPage;
    Left:= ScaleY(215);
    Top:= ScaleX(176);
    Width:= ScaleX(14);
    Height:= ScaleY(14);
    TabOrder:= 0;
    Checked:= False;
  end;
 
  DirectXLabel:= TLabel.Create(WizardForm);
  with DirectXLabel do
  begin
    Caption:= ExpandConstant('{cm:DRT}');
    Left:= ScaleY(215);
    Top:= ScaleX(196);
    Width:= ScaleX(150);
    Height:= ScaleY(13);
    Transparent := True;
    Parent:= WizardForm.FinishedPage;
    OnClick:= @DirectXLabelOnClick;
  end;
  //FinishedPage
  end;
 
procedure CurPageChanged(CurPageID: Integer);
begin
  PageNameLabel.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel1.Caption:= 'Апаратное Обеспечение';
  PageDescriptionLabel1.Caption:= 'Программа установки обнаружила следуюшие необходимые компоненты';
  PageNameLabel2.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel2.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel3.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel3.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel4.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel4.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel5.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel5.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel6.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel6.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel7.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel7.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageNameLabel8.Caption:= WizardForm.PageNameLabel.Caption;
  PageDescriptionLabel8.Caption:= WizardForm.PageDescriptionLabel.Caption;
  PageID:=CurPageID;
  if CurPageID = wpSelectDir then
  begin
    GetNeedSpaceCaption;
    if FreeMB < NeedSize then
    WizardForm.NextButton.Enabled:=False;
      begin
if CurPageID=wpInstalling
then
if CurPageID=wpFinished
then
begin
WizardForm.Width:=497;
WizardForm.Height:=358;
WizardForm.Position:=poScreenCenter;
end
end;
end;
end;
 
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
 if CurUninstallStep = usPostUninstall then
begin
  MoveDir(ExpandConstant('{app}\Game\Bin\Backup\'), ExpandConstant('{app}\Game\Bin'));
  RemoveDir(ExpandConstant('{app}\Game\Bin\Backup\'));
end;
end;

Всего записей: 695 | Зарегистр. 09-06-2009 | Отправлено: 05:50 25-07-2009 | Исправлено: Shegorat, 05:53 25-07-2009
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
Widok (10-08-2009 22:13): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru