0% found this document useful (0 votes)
231 views

Scrip Base

Uploaded by

Armando Lara
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
231 views

Scrip Base

Uploaded by

Armando Lara
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 36

#define GameID "{C9996D0F-C781-490A-9E68-B1985ABE66F5}" /// : #define NeedSize "0" /// /// : #define AfterSize "8500" /// #define NeedMem

Mem "512" /// /// #define Processor "3000" #define VideoCard "512" #define RAM "1000" #define WinVerMajor "5" #define WinVerMinor "1" #define ServicePack "2" /// ///Text - , (botva2.iss 128) ;define ButtonFont /// /// ;#defineNextButton /// #define Splesh /// #define Music /// ;#define Components /// ;#define Registry /// ;#define records /// #define facompress

;#define PrecompInside #define SrepInside ;#define MSCInside ;#define precomp "0.42" ;#define unrar ;#define XDelta ;#define PackZIP /// #define icon "InstallFiles/icon.ico" #define Font "DexterC.ttf" #define FontName "'DexterC'" #define FontColor "$a5dffd" /// #define MyAppName "Halo 2 in Spanish" #define Version "1.0.0.0" #define ProductVersion "1.4.651.0" #define Copyright "Eidos Interactive,Nixxes Software,Square Enix, ,Hedgehog Riders." #define exe "Halo 2.exe" #define MyAppURL "http://www.clan-dskl.mex.tl" #define RePacker "Repack by KLTH" #define VersionInfo "Game Setup by KLTH" [Setup] AppId={{#GameID}

AppName={#MyAppName} VersionInfoVersion={#Version} AppVersion={#ProductVersion} AppPublisher={#RePacker} VersionInfoDescription={#VersionInfo} AppCopyright={#Copyright} DefaultDirName={pf}\{#MyAppName} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultGroupName={#RePacker}\{#MyAppName} OutputBaseFilename=setup Compression=lzma2/ultra64 SolidCompression=true SetupIconFile={#icon} DisableReadyPage=yes ShowComponentSizes=false WindowVisible=no [Dirs] Name: "{app}"; Attribs: system; AfterInstall: CreateIni(); #ifdef Components [Types] Name: full; Description: Full installation; Flags: iscustom

[Components] Name: voice\spa; Description: ; Types: full; Flags: fixed Name: voice\eng; Description: ; Flags: exclusive; ExtraDiskSpaceRequired: 600000000 Name: text\spa; Description: ; Types: full; Flags: fixed Name: text\eng; Description: ; Flags: exclusive; ExtraDiskSpaceRequired: 200000000 #endif #ifdef Registry [Registry] #endif

[Icons] Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\{#exe}"; WorkingDir: {app}; IconFilename: "{app}\Icon.ico"; Comment: "{#MyAppName}"; Check: Desktop ; Name: "{group}\{#MyAppName}"; Filename: "{app}\{#exe}"; WorkingDir: {app}; IconF ilename: "{app}\Icon.ico"; Comment: "{#MyAppName}"; Check: NoIcons; Name: "{group}\ "; Filename: "{app}\unins000.exe"; IconFilename: "{app}\Icon.ico"; " "; Check: NoIcons; [Tasks] Name: LIVECheck; Description: Games for Windows Live Name: VisualCheck; Description: Ms Visual C++ Redistributable [Run] Filename: {src}\Redist\GFWL\xLiveRedist.msi; Parameters: "/quiet /norestart"; Wo rkingDir: "{src}\Redist\GFWL"; Flags: shellexec runminimized waituntilterminated ; Check: LIVE //Filename: "{src}\Redist\DirectX\DXSETUP.exe"; WorkingDir: "{src}\Redist\Direct X"; Parameters: "/silent"; Check: DirectX; Filename: "{src}\Redist\DirectX\dxwebsetup.exe"; WorkingDir: "{src}\Redist\Direc tX"; Check: DirectX; Filename: {src}\Redist\Visual\vcredist_x86.exe; WorkingDir: {src}\Redist\Visual; Flags: waituntilterminated; Check: Visual and not IsWin64 and CheckError;

Filename: {src}\Redist\Visual\vcredist_x64.exe; WorkingDir: {src}\Redist\Visual; Flags: waituntilterminated; Check: Visual and IsWin64 and CheckError; [Files] Source: Source: Source: Source: Source: Source: Source: Source: n Slides\isSlideShow.dll; DestDir: {tmp}; Flags: dontcopy Slides\InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy Slides\*.jpg; DestDir: {tmp}; Flags: dontcopy dllFiles\isgsg.dll; Flags: dontcopy noencryption noencryption dllFiles\b2p.dll; Flags: dontcopy noencryption noencryption dllFiles\botva2.dll; Flags: dontcopy noencryption noencryption dllFiles\Bass.dll; Flags: dontcopy noencryption nocompression dllFiles\get_hw_caps.dll; Flags: dontcopy noencryption noencryptio

Source: InstallFiles\*; Flags: dontcopy noencryption nocompression Source: InstallFiles\{#Font}; Flags: dontcopy noencryption nocompression Source: ISDone\English.ini; DestDir: {tmp}; Flags: dontcopy Source: ISDone\unarc.dll; DestDir: {tmp}; Flags: dontcopy Source: ISDone\ISDone.dll; DestDir: {tmp}; Flags: dontcopy #ifdef records Source: Output\records.inf; DestDir: {tmp}; Flags: dontcopy #endif #ifdef PrecompInside Source: ISDone\CLS-precomp.dll; DestDir: {tmp}; Flags: dontcopy Source: ISDone\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy Source: ISDone\packjpg_dll1.dll; DestDir: {tmp}; Flags: dontcopy Source: ISDone\precomp.exe; DestDir: {tmp}; Flags: dontcopy Source: ISDone\zlib1.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef SrepInside Source: ISDone\CLS-srep.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef MSCInside Source: ISDone\CLS-MSC.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef facompress Source: ISDone\facompress.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef precomp #if precomp == "0.38" Source: ISDone\precomp038.exe; DestDir: {tmp}; Flags: dontcopy #else #if precomp == "0.4" Source: ISDone\precomp040.exe; DestDir: {tmp}; Flags: dontcopy #else #if precomp == "0.41" Source: ISDone\precomp041.exe; DestDir: {tmp}; Flags: dontcopy #else #if precomp == "0.42" Source: ISDone\precomp042.exe; DestDir: {tmp}; Flags: dontcopy #else Source: ISDone\precomp038.exe; DestDir: {tmp}; Flags: dontcopy Source: ISDone\precomp040.exe; DestDir: {tmp}; Flags: dontcopy Source: ISDone\precomp041.exe; DestDir: {tmp}; Flags: dontcopy Source: ISDone\precomp042.exe; DestDir: {tmp}; Flags: dontcopy #endif #endif #endif

#endif #endif #ifdef unrar Source: ISDone\Unrar.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef XDelta Source: ISDone\XDelta3.dll; DestDir: {tmp}; Flags: dontcopy #endif #ifdef PackZIP Source: ISDone\7z.dll; DestDir: {tmp}; Flags: dontcopy Source: ISDone\packZIP.exe; DestDir: {tmp}; Flags: dontcopy #endif [Code] function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer; external '[email protected] stdcall'; procedure CancelButtonClick(CurPage: Integer; var Cancel, Confirm: Boolean); var hWnd: Integer; begin Cancel:=False; Confirm:=False; hWnd := StrToInt(ExpandConstant('{wizardhwnd}')); if MessageBox(hWnd, 'REALMENTE DESEA CANCELAR LA INSTALACIN?', 'Salir - Repack B y KLTH', MB_YESNO or $30) = idYes then Cancel:=true; end; [Code] #ifdef UNICODE #define A "W" #else #define A "A" #endif //========== [ - ] ==========\\ procedure CreateIni(); begin SaveStringsToFile(ExpandConstant('{app}\Desktop.ini'), ['[.ShellClassInfo]', 'IconFile=Icon.ico', 'IconIndex=0'], true) end; //========== [ - ] ==========\\ type TCallbackProc = function(h:hWnd;Msg,wParam,lParam:Longint):Longint; TALabel = array of TLabel; const FR_PRIVATE = $10; LanguagetextButtonCount = 2; LanguagevoiceButtonCount = 2; #include "Modules/Messages.iss" #include "Modules/botva2.iss" #include "Modules/ProgressBar.iss" #include "Modules/TaskBar.iss" #include "Modules/ISDone.iss" #ifdef Music

#include "Modules/BASS_Module.iss" #endif var SystemPage: TWizardPage; Pdm: string; vr,VidRam : Longint; Version: TWindowsVersion; Frame: TForm; WFOldProc, WizardImg, wp, sp, dp, gp, tp, ip, fp, ep, hdd, Folder, Edit, ComF older, Start, Tasks, Components: Longint; OldMinimizeAnimation: boolean; hCancelBtn, hNextBtn, hBackBtn, hDirBrowseBtn,CancelBtn, MinBtn, hGroupBrowseB tn, NoIconsCheck, DPOCheck, DesktopCheck, DirectXCheck, LIVECheck, VisualCheck, AboutBtn, Font1:HWND; ButtonFont: TFont; WelcomeLabel, WelcomeLabel2, WelcomeLabel3, WelcomeLabel4,WelcomeLabel5, Requi rementsLbl, ProcessorLbl, VideoCardLbl, SoundCardLbl, RAMLbl, SystemLbl, ProcessorNameLbl, VideoCardNameLbl, SoundCardNameLbl, RAMTo talLbl, SystemNameLbl, SystemLbl, SystemNameLbl, SelectDir, SelectDir2, SelectDir3, DirEditLabel, Com ponentsLabel, ComponentsLabel1, ComponentsText, ComponentsVoice, GroupEditLabel, SelectProgramGroupPage, SelectProgramGroupPage1, SelectProgram GroupPage2, DesktopLabel, NoIconsLabel, DPOLabel, DirectXLabel, LIVELabel, VisualLabel, Se lectTasks,SelectTasks1, InstalLabel, InstalLabel2, InstalLabel3: TLabel; Processor, coreCount, VideoRam, Ram, OpSystem, OpSystemBit:integer; NeedSpaceLabel, AfterSpaceLabel,FreeSpaceLabel, TotalSpaceLabel, NeedSpaceLabe l1, AfterSpaceLabel1,FreeSpaceLabel1, TotalSpaceLabel1: TLabel; FreeMB, TotalMB: Cardinal; SizeInt, AfterInt: Longint; TextLabel, VoiceLabel, RUSTextLabel, ENGTextLabel, RUSVoiceLabel, ENGVoiceLabe l: TLabel; LanguagetextButton: array [1..LanguagetextButtonCount] of HWND; LanguagevoiceButton: array [1..LanguagevoiceButtonCount] of HWND; ASysReq, ADisk: TALabel; Keys: TArrayOfString; /////// #ifdef Splesh procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p 9:Cardinal;p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload'; procedure SpleshShow; begin ExtractTemporaryFile('splesh.png'); ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}\splesh.png'),2000,300 0,2000,0,255,False,$FFFFFF,10); end; #endif /////// procedure InitializeSlideShow(Hwnd:Thandle; l,t,w,h:integer;Animate:boolean; Str etch:integer); external 'InitializeSlideShow@files:isslideshow.dll stdcall'; procedure DeinitializeSlideShow; external 'DeinitializeSlideShow@files:isslidesh ow.dll stdcall'; procedure ShowImage(ipath:PAnsiChar; Effect:integer); external 'ShowImage@files: isslideshow.dll stdcall';

function mciSendString(lpstrCommand, lpstrReturnString: PAnsiChar; uReturnLength , hWndCallback: Integer): Integer; external 'mciSendString{#A}@winmm stdcall del ayload'; function LoadImage(hInst: THandle; ImageName: PAnsiChar; ImageType: UINT; X, Y: Integer; Flags: UINT): THandle; external 'LoadImage{#A}@user32.dll stdcall'; function SetWindowRgn(hWnd: HWND; hRgn: LongWord; bRedraw: BOOL): Integer; exte rnal '[email protected] stdcall'; function ReleaseDC(hWnd: HWND; hDC: LongWord): Integer; external 'ReleaseDC@user 32.dll stdcall'; function DeleteObject(p1: LongWord): BOOL; external '[email protected] stdc all'; function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint; ex ternal 'SetWindowLong{#A}@user32.dll stdcall'; function WndProcCallBack(P:TCallbackProc;ParamCount:integer):LongWord; external 'wrapcallback@files:ISDone.dll stdcall delayload'; function CallWindowProc(lpPrevWndFunc: Longint; hWnd: HWND; Msg: UINT; wParam, l Param: Longint): Longint; external 'CallWindowProc{#A}@user32.dll stdcall'; function SetWindowPos(hWnd: HWND; hWndInsertAfter: HWND; X, Y, cx, cy: Integer; uFlags: UINT): BOOL; external '[email protected] stdcall'; function GetWindowLong(hWnd, nIndex: Integer): Longint; external 'GetWindowLongA @user32 stdcall delayload'; function SetLayeredWindowAttributes(hWnd : Longint; crKey : TColor; bAlpha : byt e; dwFlags : DWORD): BOOL; external '[email protected] stdca ll'; function ReleaseCapture(): Longint; external '[email protected] stdcall' ; ///////// function DetectHardware: Integer; external 'hwc_DetectHardware@files:get_hw_caps .dll stdcall'; function GetProcessorName: PAnsiChar; external 'hwc_GetProcessorName@files:get_h w_caps.dll stdcall'; function GetProcessorFreq: Integer; external 'hwc_GetProcessorFreq@files:get_hw_ caps.dll stdcall'; function GetVideoCardName: PAnsiChar; external 'hwc_GetVideoCardName@files:get_h w_caps.dll stdcall'; function GetVidMemLocal: Integer; external 'hwc_GetVidMemLocal@files:get_hw_caps .dll stdcall'; function GetPdmWidth: Integer; external 'hwc_GetPdmWidth@files:get_hw_caps.dll s tdcall'; function GetPdmHeight: Integer; external 'hwc_GetPdmHeight@files:get_hw_caps.dll stdcall'; function GetSoundCards: Integer; external 'hwc_GetSoundCards@files:get_hw_caps.d ll stdcall'; function GetSoundCardName: PAnsiChar; external 'hwc_GetSoundCardName@files:get_h w_caps.dll stdcall'; function GetSystemPhys: Integer; external 'hwc_GetSystemPhys@files:get_hw_caps.d ll stdcall'; function GetWindowsName: PAnsiChar; external 'hwc_GetWindowsName@files:get_hw_ca ps.dll stdcall'; //////// function AddFontResource(lpszFilename: String; fl, pdv: DWORD): Integer; externa l 'AddFontResourceEx{#A}@gdi32.dll stdcall'; function RemoveFontResource(lpFileName: String; fl, pdv: DWORD): BOOL; external 'RemoveFontResourceEx{#A}@gdi32.dll stdcall'; ////////////// function DelSp(s: string): string; begin while Pos(' ',s)>0 do StringChange(s,' ',' ');

Result:=Trim(s); end; procedure SysReqFlashing(h: Longword; msg: Longword; idevent: Longword; dwTime: Longword); var i:integer; begin for i:= 0 to GetArrayLength(ASysReq)-1 do if ASysReq[i].Font.Color=$FFFFFF then ASysReq[i].Font.Color:=$0000FF else AS ysReq[i].Font.Color:=$FFFFFF; end; function GetElementIndex(a:TALabel; lbl:TLabel):integer; var i:integer; f:boolean; begin Result:=-1; f:=False; for i:=0 to GetArrayLength(a)-1 do if a[i]=lbl then begin f:=True; Break; end; if f then Result:=i; end; procedure AddLabelToArray(var a:TALabel; lbl:TLabel); begin if GetElementIndex(a,lbl)=-1 then begin SetArrayLength(a,GetArrayLength(a)+1); a[GetArrayLength(a)-1]:=lbl; end; end; procedure DeleteLabelFromArray(var a:TALabel; lbl:integer); var Last,i:integer; begin if lbl<>-1 then begin Last:=GetArrayLength(a)-1; if lbl<Last then for i:=lbl to Last-1 do a[i]:=a[i+1]; SetArrayLength(a,Last); end; end; procedure SetRgn(h:HWND;FileName:String;Width,Height:integer); var dc:LongWord; FRgn:LongWord; bmp:HBITMAP; begin BMP:=LoadImage(0,PAnsiChar(ExpandConstant('{tmp}')+'\'+FileName),0,Width,Heigh t,$10); dc:=GetDC(h); FRgn:=CreateBitmapRgn(dc,bmp,$ffffff,0,0); SetWindowRgn(h,FRgn,True); ReleaseDC(h,dc); DeleteObject(BMP);

end; function WFProc(h:hWnd;Msg,wParam,lParam:Longint):Longint; begin if Msg=$3 then SetWindowPos(Frame.Handle,0,WizardForm.Left,WizardForm.Top,0,0, $515); Result:=CallWindowProc(WFOldProc,h,Msg,wParam,lParam); end; procedure FrameMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftSta te; X, Y: Integer); begin WizardForm.SetFocus; ReleaseCapture; SendMessage(WizardForm.Handle,$0112,$F012,0); end; procedure CreateWizardForm; begin with WizardForm do begin WizardForm.BorderStyle:=bsNone; WizardForm.ClientWidth:=865; WizardForm.ClientHeight:=555; Position:=poScreenCenter; WizardForm.InnerNotebook.Hide; WizardForm.OuterNotebook.Hide; WizardForm.Bevel.Hide; WizardForm.NextButton.Width:=0; WizardForm.CancelButton.Width:=0; SetBounds(ScaleX(0), ScaleY(0), ScaleX(865), ScaleY(555)); WizardImg:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\form.png'),0,0,0,0, False,True); SetWindowLong(WizardForm.Handle,-20,GetWindowLong(WizardForm.Handle,-20) or $8 0000); SetLayeredWindowAttributes(WizardForm.Handle,$00FF00,0,1); ImgApplyChanges(WizardForm.Handle); end; end; //**************************************************************[]******************** ******************************************\\ procedure MinimizeBtnClick(h:HWND); begin GetMinimizeAnimation; SetMinimizeAnimation(true); SendMessage(WizardForm.Handle,$112,61472,0); end; procedure CancelBtnClick(h:HWND); begin WizardForm.CancelButton.OnClick(WizardForm.CancelButton); end; procedure SetStateNewButtons; begin // , with WizardForm.BackButton do begin

#ifdef ButtonFont BtnSetText(hBackBtn,PAnsiChar(Caption)); #endif BtnSetVisibility(hBackBtn,Visible); end; with WizardForm.NextButton do begin #ifdef ButtonFont BtnSetText(hNextBtn,PAnsiChar(Caption)); #endif BtnSetVisibility(hNextBtn,Visible); end; with WizardForm.CancelButton do begin #ifdef ButtonFont BtnSetText(hCancelBtn,PAnsiChar(Caption)); #endif BtnSetVisibility(hCancelBtn,Visible); end; #ifdef ButtonFont BtnSetText(hDirBrowseBtn,PAnsiChar(WizardForm.DirBrowseButton.Caption)); BtnSetText(hGroupBrowseBtn,PAnsiChar(WizardForm.GroupBrowseButton.Caption)); #endif end; //////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////// function RUSText: Boolean; begin result:= not IsDoneError and BtnGetChecked(LanguagetextButton[1]); end; function ENGText: Boolean; begin result:= not IsDoneError and BtnGetChecked(LanguagetextButton[2]); end; procedure SelectLanguagetext(hBtn:HWND); begin BtnSetChecked(hBtn,True); if hBtn=LanguagetextButton[1] then begin BtnSetChecked(LanguagetextButton[2],False); end else begin BtnSetChecked(LanguagetextButton[1],False); end; end; function RUSVoice: Boolean; begin result:= not IsDoneError and BtnGetChecked(LanguagevoiceButton[1]); end; function ENGVoice: Boolean; begin result:= not IsDoneError and BtnGetChecked(LanguagevoiceButton[2]); end; procedure SelectLanguagevoice(hBtn:HWND); begin BtnSetChecked(hBtn,True); if hBtn=LanguagevoiceButton[1] then begin BtnSetChecked(LanguagevoiceButton[2],False);

end else begin BtnSetChecked(LanguagevoiceButton[1],False); end; end; procedure Languagetext1LabelClick(Sender:TObject); begin BtnSetChecked(LanguagetextButton[1], not BtnGetChecked(LanguagetextButton[1])) ; SelectLanguagetext(LanguagetextButton[1]); end; procedure Languagetext2LabelClick(Sender:TObject); begin BtnSetChecked(LanguagetextButton[2], not BtnGetChecked(LanguagetextButton[2])) ; SelectLanguagetext(LanguagetextButton[2]); end; procedure LanguageVoice1LabelClick(Sender:TObject); begin BtnSetChecked(LanguagevoiceButton[1], not BtnGetChecked(LanguagevoiceButton[1] )); SelectLanguagevoice(LanguagevoiceButton[1]); end; procedure LanguageVoice2LabelClick(Sender:TObject); begin BtnSetChecked(LanguagevoiceButton[2], not BtnGetChecked(LanguagevoiceButton[2] )); SelectLanguagevoice(LanguagevoiceButton[2]); end; //////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// procedure WizardFormBtnClick(hBtn:HWND); var Btn:TButton; begin case hBtn of hCancelBtn: Btn:=WizardForm.CancelButton; hNextBtn: Btn:=WizardForm.NextButton; hBackBtn: Btn:=WizardForm.BackButton; hDirBrowseBtn: Btn:=WizardForm.DirBrowseButton; hGroupBrowseBtn: Btn:=WizardForm.GroupBrowseButton; end; Btn.OnClick(Btn); SetStateNewButtons; BtnRefresh(hBtn); end; function NoIcons: Boolean; begin Result:= BtnGetEnabled(hGroupBrowseBtn); end; function Desktop: Boolean; begin Result:= BtnGetChecked(DesktopCheck); end;

function DirectX: Boolean; begin Result:= BtnGetChecked(DirectXCheck); end; function LIVE: Boolean; begin Result:= BtnGetChecked(LIVECheck); end; function Visual: Boolean; begin Result:= BtnGetChecked(VisualCheck); end; procedure NoIconsClick(hBtn:HWND); var Check:boolean; begin Check:=BtnGetChecked(hBtn); BtnSetEnabled(hGroupBrowseBtn, Check); WizardForm.GroupEdit.Enabled:=Check; if Check then NoIconsLabel.Font.Color:={#FontColor} else NoIconsLabel.Font.Color :=-16777199; end; procedure NoIconsLabelClick(Sender:TObject); begin BtnSetChecked(NoIconsCheck, not BtnGetChecked(NoIconsCheck)); NoIconsClick(NoIconsCheck); end; procedure DesktopClick(hBtn:HWND); var Check:boolean; begin Check:=BtnGetChecked(hBtn); if Check then DesktopLabel.Font.Color:={#FontColor} else DesktopLabel.Font.Color :=-16777199; end; procedure DesktopLabelClick(Sender:TObject); begin BtnSetChecked(DesktopCheck, not BtnGetChecked(DesktopCheck)); DesktopClick(DesktopCheck); end; procedure DirectXClick(hBtn:HWND); var Check:boolean; begin Check:=BtnGetChecked(hBtn); if Check then DirectXLabel.Font.Color:={#FontColor} else DirectXLabel.Font.Col or:=-16777199; end; procedure LIVEClick(hBtn:HWND); var Check:boolean;

begin Check:=BtnGetChecked(hBtn); if Check then LIVELabel.Font.Color:={#FontColor} else LIVELabel.Font.Color:=-1 6777199; end; procedure VisualClick(hBtn:HWND); var Check:boolean; begin Check:=BtnGetChecked(hBtn); if Check then VisualLabel.Font.Color:={#FontColor} else VisualLabel.Font.Color :=-16777199; end; procedure Buttons; begin // ButtonFont:=TFont.Create; with ButtonFont do begin Style:=[fsBold]; Name:={#FontName}; end; // with WizardForm.CancelButton do begin hCancelBtn:=BtnCreate(WizardForm.Handle,ScaleX(1770),ScaleY(38),ScaleX(47),S caleY(39),ExpandConstant('{tmp}\Cancel.png'),1,False); BtnSetEvent(hCancelBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1 )); BtnSetFont(hCancelBtn,ButtonFont.Handle); #ifdef ButtonFont BtnSetText(hCancelBtn,''); #endif BtnSetFontColor(hCancelBtn,{#FontColor},{#FontColor},{#FontColor},{#FontColo r}); BtnSetCursor(hCancelBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.NextButton do begin hNextBtn:=BtnCreate(WizardForm.Handle,ScaleX(770),ScaleY(38),ScaleX(47),Scal eY(39),ExpandConstant('{tmp}\next.png'),1,False); BtnSetEvent(hNextBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)) ; BtnSetFont(hNextBtn,ButtonFont.Handle); #ifdef ButtonFont BtnSetText(hNextBtn,' >'); #endif BtnSetFontColor(hNextBtn,{#FontColor},{#FontColor},{#FontColor},{#FontColor} ); BtnSetCursor(hNextBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.BackButton do begin hBackBtn:=BtnCreate(WizardForm.Handle,ScaleX(50),ScaleY(38),ScaleX(47),Scale Y(39),ExpandConstant('{tmp}\back.png'),1,False); BtnSetEvent(hBackBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClick,1)) ;

BtnSetFont(hBackBtn,ButtonFont.Handle); #ifdef ButtonFont BtnSetText(hBackBtn,'< '); #endif BtnSetFontColor(hBackBtn,{#FontColor},{#FontColor},{#FontColor},{#FontColor} ); BtnSetCursor(hBackBtn,GetSysCursorHandle(32649)); Width:=0; Height:=0; end; with WizardForm.DirBrowseButton do begin hDirBrowseBtn:=BtnCreate(WizardForm.Handle,ScaleX(676),ScaleY(218),ScaleX(11 2),ScaleY(69),ExpandConstant('{tmp}\browse.png'),1,False); BtnSetEvent(hDirBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnClic k,1)); BtnSetCursor(hDirBrowseBtn,GetSysCursorHandle(32649)); #ifdef ButtonFont BtnSetText(hDirBrowseBtn,'...'); #endif BtnSetFontColor(hDirBrowseBtn,{#FontColor},{#FontColor},{#FontColor},{#FontC olor}); BtnSetFont(hDirBrowseBtn,ButtonFont.Handle); Width:=0; Height:=0; end; with WizardForm.GroupBrowseButton do begin hGroupBrowseBtn:=BtnCreate(WizardForm.Handle,ScaleX(679),ScaleY(248),ScaleX( 112),ScaleY(69),ExpandConstant('{tmp}\browse.png'),7,False); BtnSetEvent(hGroupBrowseBtn,BtnClickEventID,WrapBtnCallback(@WizardFormBtnCl ick,1)); BtnSetCursor(hGroupBrowseBtn,GetSysCursorHandle(32649)); #ifdef ButtonFont BtnSetText(hGroupBrowseBtn,'...'); #endif BtnSetFontColor(hGroupBrowseBtn,{#FontColor},{#FontColor},{#FontColor},{#Fon tColor}); BtnSetFont(hGroupBrowseBtn,ButtonFont.Handle); Width:=0; Height:=0; end;; CancelBtn:=BtnCreate(WizardForm.Handle, ScaleX(774), ScaleY(409), ScaleX(44), S caleY(44), ExpandConstant('{tmp}\closew.png'), 1, False); BtnSetEvent(CancelBtn, BtnClickEventID,WrapBtnCallback(@CancelBtnClick,1)); BtnSetCursor(CancelBtn,GetSysCursorHandle(32649)); MinBtn:=BtnCreate(WizardForm.Handle, ScaleX(728), ScaleY(409), ScaleX(44), Scal eY(44), ExpandConstant('{tmp}\Minimize.png'), 1, false); BtnSetEvent(MinBtn, BtnClickEventID, WrapBtnCallback(@MinimizeBtnClick, 1)); BtnSetCursor(MinBtn,GetSysCursorHandle(32649)); NoIconsCheck:=BtnCreate(WizardForm.Handle,ScaleX(313),ScaleY(371),ScaleX(23), S caleY(20), ExpandConstant('CheckBox.png'),0,True); BtnSetEvent(NoIconsCheck,BtnClickEventID,WrapBtnCallback(@NoIconsClick,1)); BtnSetChecked(NoIconsCheck, true); BtnSetCursor(NoIconsCheck,GetSysCursorHandle(32649)); DirectXCheck:=BtnCreate(WizardForm.Handle, ScaleX(405), ScaleY(309), ScaleX(23)

, ScaleY(20), ExpandConstant('CheckBox.png'), 0, True); BtnSetChecked(DirectXCheck, false); BtnSetEvent(DirectXCheck,BtnClickEventID,WrapBtnCallback(@DirectXClick,1)); BtnSetCursor(DirectXCheck,GetSysCursorHandle(32649)); LIVECheck:=BtnCreate(WizardForm.Handle, ScaleX(230), ScaleY(1300), ScaleX(23), ScaleY(20), ExpandConstant('CheckBox.png'), 1, True); BtnSetChecked(LIVECheck, false); BtnSetEvent(LIVECheck,BtnClickEventID,WrapBtnCallback(@LIVEClick,1)); BtnSetCursor(LIVECheck,GetSysCursorHandle(32649)); VisualCheck:=BtnCreate(WizardForm.Handle, ScaleX(405), ScaleY(344), ScaleX(23), ScaleY(20), ExpandConstant('CheckBox.png'), 0, True); BtnSetChecked(VisualCheck, false); BtnSetEvent(VisualCheck,BtnClickEventID,WrapBtnCallback(@VisualClick,1)); BtnSetCursor(VisualCheck,GetSysCursorHandle(32649)); DesktopCheck:=BtnCreate(WizardForm.Handle, ScaleX(333), ScaleY(270), ScaleX(23) , ScaleY(20), ExpandConstant('CheckBox.png'), 0, True); BtnSetChecked(DesktopCheck, true); BtnSetEvent(DesktopCheck,BtnClickEventID,WrapBtnCallback(@DesktopClick,1)); BtnSetCursor(DesktopCheck,GetSysCursorHandle(32649));

ImgApplyChanges(WizardForm.Handle); end; //**************************************************************[]******************** ******************************************\\ //************************************************[ - ]********* *************// Function NumToStr(Float: Extended): String; Begin Result:= Format('%.2n', [Float]); StringChange(Result, ',', ','); while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = ',')) and ( Pos(',', Result) > 0) do SetLength(Result, Length(Result)-1); End; function CompareNum(FirstNum, SecondNum: Integer): Boolean; begin if FirstNum < SecondNum then Result:= False else Result:= True; end; Function MbOrTb(Byte: Extended): String; begin if Byte < 1024 then Result:= NumToStr(Byte) + ' ' else if Byte/1024 < 1024 then Result:= NumToStr(round(Byte/1024*100)/100) + ' ' else Result:= NumToStr(round((Byte/(1024*1024))*100)/100) + ' ' end; procedure DirEditOnChange(Sender: TObject); var Drive: String; begin DirEditLabel.Caption:=MinimizePathName(WizardForm.DirEdit.Text, DirEditLabel.F ont, DirEditLabel.Width); Drive:= ExtractFileDrive(WizardForm.DirEdit.Text); GetSpaceOnDisk(Drive, True, FreeMB, TotalMB); TotalSpaceLabel.Caption:= ''+MbOrTb(TotalMB); FreeSpaceLabel.Caption:= ExpandConstant(' ') + MbOrTB(FreeMb); //+ ' (' + In tToStr((FreeMb*100) div TotalMB) + ' %)'; NeedSpaceLabel.Caption := ExpandConstant('') + MbOrTb(SizeInt)

AfterSpaceLabel.Caption := ExpandConstant('') +MbOrTb(AfterInt) if WizardForm.CurPageID = wpSelectDir then begin if (FreeMB>{#NeedSize}) then begin WizardForm.NextButton.Enabled:= (FreeMB>{#NeedSize}); BtnSetEnabled(hNextBtn, True); FreeSpaceLabel.Font.Color:={#FontColor}; end else begin WizardForm.NextButton.Enabled:= (FreeMB>{#NeedSize}); BtnSetEnabled(hNextBtn, False); FreeSpaceLabel.Font.Color:=clred; end; end; end; procedure NeedSpace; begin WizardForm.DiskSpaceLabel.Hide; AfterInt:= {#AfterSize} SizeInt:= {#NeedSize} TotalSpaceLabel:= TLabel.Create(WizardForm); TotalSpaceLabel.Transparent:=true; TotalSpaceLabel.SetBounds(ScaleX(525),ScaleY(390), ScaleX(450), ScaleY(13)); TotalSpaceLabel.Parent:= WizardForm; //// TotalSpaceLabel.Font.Name:= {#FontName}; TotalSpaceLabel.Font.Color:= {#FontColor}; TotalSpaceLabel.Font.Size:= 10; FreeSpaceLabel := TLabel.Create(WizardForm); FreeSpaceLabel.SetBounds(ScaleX(515), ScaleY(353), ScaleX(450), ScaleY(13)) FreeSpaceLabel.Parent := WizardForm; FreeSpaceLabel.Transparent:=true; //// FreeSpaceLabel.Font.Name:= {#FontName}; FreeSpaceLabel.Font.Color:= {#FontColor}; FreeSpaceLabel.Font.Size:= 10; NeedSpaceLabel := TLabel.Create(WizardForm); NeedSpaceLabel.SetBounds(ScaleX(1220), ScaleY(1364), ScaleX(450), ScaleY(13)) NeedSpaceLabel.Parent := WizardForm; NeedSpaceLabel.Transparent:=true; ///// : NeedSpaceLabel.Font.Name:= {#FontName}; NeedSpaceLabel.Font.Color:= {#FontColor}; NeedSpaceLabel.Font.Size:= 10; AfterSpaceLabel := TLabel.Create(WizardForm); AfterSpaceLabel.SetBounds(ScaleX(525), ScaleY(316), ScaleX(300), ScaleY(13)) AfterSpaceLabel.Parent := WizardForm; AfterSpaceLabel.Transparent:=true; //// : AfterSpaceLabel.Font.Name:= {#FontName}; AfterSpaceLabel.Font.Color:= {#FontColor}; AfterSpaceLabel.Font.Size:= 10; WizardForm.DirEdit.OnChange:= @DirEditOnChange; WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text + #0; end;

//************************************************[ - ]********** **************// //**************************************************************[]******************** ******************************************\\ procedure Wzf; begin wp:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\wp.png'),ScaleX(0), ScaleY(0 ),ScaleX(865),ScaleY(555),True,True) sp:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\sp.png'),ScaleX(0), ScaleY(0 ),ScaleX(865),ScaleY(555),True,True) dp:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\dp.png'),ScaleX(0), ScaleY(0 ),ScaleX(865),ScaleY(555),True,True) gp:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\gp.png'),ScaleX(0), ScaleY(0 ),ScaleX(865),ScaleY(555),True,True) tp:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\tp.png'),ScaleX(0), ScaleY(0 ),ScaleX(865),ScaleY(555),True,True) ip:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\ip.png'),ScaleX(0), ScaleY(0 ),ScaleX(865),ScaleY(555),True,True) fp:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\fp.png'),ScaleX(0), ScaleY(0 ),ScaleX(865),ScaleY(555),True,True) ep:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\ep.png'),ScaleX(0), ScaleY(0 ),ScaleX(865),ScaleY(555),True,True) hdd:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\hdd.png'),ScaleX(610), Scal eY(310),ScaleX(108),ScaleY(104),True,True) ImgApplyChanges(WizardForm.Handle); //========== [ - WelcomePage] ==========\\ WelcomeLabel:= TLabel.Create(WizardForm); with WelcomeLabel do begin Left:= ScaleX(215); Top:= ScaleY(232); Width:= ScaleX(650); Height:= ScaleY(65); AutoSize:= false; Transparent:= true; WordWrap:= true; ParentFont := True; Alignment := taCenter; Font.Size:=16; Font.Style := [fsBold]; Font.Name:={#FontName}; Font.Color:={#FontColor}; Parent:= WizardForm; Caption:= ExpandConstant('{cm:Welcome1}'); end; WelcomeLabel2:=TLabel.Create(WizardForm); with WelcomeLabel2 do begin Left:= ScaleX(218); Top:= ScaleY(290);; Width:= ScaleX(650); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Alignment := taCenter; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor};

// Font.Style:=[fsBold]; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:Welcome2}'); end; WelcomeLabel3:=TLabel.Create(WizardForm); with WelcomeLabel3 do begin Left:= ScaleX(218); Top:= ScaleY(312);; Width:= ScaleX(650); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Alignment := taCenter; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; //Font.Style:=[fsBold]; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:Welcome3}'); end; WelcomeLabel4:=TLabel.Create(WizardForm); with WelcomeLabel4 do begin Left:= ScaleX(218); Top:= ScaleY(350);; Width:= ScaleX(650); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Alignment := taCenter; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; //Font.Style:=[fsBold]; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:Welcome4}'); end; WelcomeLabel5:=TLabel.Create(WizardForm); with WelcomeLabel5 do begin Left:= ScaleX(218); Top:= ScaleY(372);; Width:= ScaleX(650); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Alignment := taCenter; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; //Font.Style:=[fsBold]; Transparent:= true; Parent:= WizardForm;

Caption:= ExpandConstant('{cm:Welcome5}'); end; //========== [ - WelcomePage] ==========\\ //========== [ - SystemPage] ==========\\ SystemPage:=CreateCustomPage(wpLicense, ExpandConstant('{cm:Requirements1}'), Ex pandConstant('{cm:Requirements2}')); RequirementsLbl := TLabel.Create(WizardForm); with RequirementsLbl do begin AutoSize:=False; SetBounds(ScaleX(175), ScaleY(180), ScaleX(687), ScaleY(27)); Transparent:=True; Alignment := taCenter; Font.Size:=16; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Style := [fsBold]; Caption := ExpandConstant('{cm:Requirements3}'); Parent:=WizardForm; end; //================= - =================// ProcessorLbl := TLabel.Create(WizardForm); with ProcessorLbl do begin AutoSize:=False; SetBounds(ScaleX(260), ScaleY(228), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Caption := ExpandConstant('{cm:Processor}'); Parent := WizardForm; end; ProcessorNameLbl := TLabel.Create(WizardForm); with ProcessorNameLbl do begin AutoSize:=False; SetBounds(ScaleX(375), ScaleY(228), ScaleX(360), ScaleY(22)); Transparent:=True; Font.Size:=10; Font.Name:={#FontName}; Font.Color:={#FontColor}; Caption := DelSP(GetProcessorName) + ' @' + IntToStr(GetProcessorFreq) + ' M Hz'; Parent := WizardForm; end; RegGetSubkeyNames(HKLM, 'Hardware\Description\System\CentralProcessor', Keys) if (GetProcessorFreq*GetArrayLength(Keys)) < {#Processor} then begin RequirementsLbl.Caption := ExpandConstant('{cm:Requirements4}'); AddLabelToArray(AsysReq,ProcessorNameLbl); end; //================= - =================//

//================= - =================// VideoCardLbl := TLabel.Create(WizardForm); with VideoCardLbl do begin AutoSize:=False; SetBounds(ScaleX(247), ScaleY(265), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Caption := ExpandConstant('{cm:VideoCard}'); Parent := WizardForm; end; VideoCardNameLbl := TLabel.Create(WizardForm); with VideoCardNameLbl do begin AutoSize:=False; SetBounds(ScaleX(375), ScaleY(265), ScaleX(360), ScaleY(22)); Transparent:=True; Font.Size:=10; Font.Name:={#FontName}; Font.Color:={#FontColor}; Caption := GetVideoCardName; Parent := WizardForm; end; Pdm:=' ['+IntToStr(GetPdmWidth)+'x'+IntToStr(GetPdmHeight)+']'; VidRam:=GetVidMemLocal/1000000; if (VidRam<63) or (VidRam>1100) then vr:=VidRam else if VidRam<100 then vr:=64 else if VidRam<200 then vr:=128 else if VidRam<300 then vr:=256 else if VidRam<400 then vr:=384 else if VidRam<600 then vr:=512 else if VidRam<800 then vr:=792 else if VidRam>800 then vr:=1024; if VidRam=0 then VideoCardNameLbl.Caption:=ExpandConstant('{cm:DeviceDriver}') else VideoCardNameLbl.Caption:=DelSp(VideoCardNameLbl.Caption)+' ~'+IntToStr (vr)+' MB'+Pdm; if vr<{#VideoCard} then begin RequirementsLbl.Caption:=ExpandConstant('{cm:Requirements4}'); AddLabelToArray(ASysReq,VideoCardNameLbl); end; //================= - =================// //================= - =================// SoundCardLbl := TLabel.Create(WizardForm); with SoundCardLbl do begin AutoSize:=False; SetBounds(ScaleX(246), ScaleY(301), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Caption := ExpandConstant('{cm:SoundCard}'); Parent := WizardForm;

end; SoundCardNameLbl := TLabel.Create(WizardForm); with SoundCardNameLbl do begin AutoSize:=False; SetBounds(ScaleX(375), ScaleY(301), ScaleX(360), ScaleY(22)); Transparent:=True; Font.Size:=10; Font.Name:={#FontName}; Font.Color:={#FontColor}; Caption := GetSoundCardName; Parent := WizardForm; end; if GetSoundCards = 0 then begin RequirementsLbl.Caption:= ExpandConstant('{cm:Requirements4}'); SoundCardNameLbl.Caption:= ExpandConstant('{cm:DeviceDriver}'); AddLabelToArray(ASysReq,SoundCardNameLbl); end; //================= - =================// //================= - =================// RAMLbl := TLabel.Create(WizardForm); with RAMLbl do begin AutoSize:=False; SetBounds(ScaleX(246), ScaleY(338), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Caption := ExpandConstant('{cm:RAM}'); Parent := WizardForm; end; RAMTotalLbl := TLabel.Create(WizardForm); with RAMTotalLbl do begin AutoSize:=False; SetBounds(ScaleX(375), ScaleY(338), ScaleX(360), ScaleY(22)); Transparent:=True; Font.Size:=10; Font.Name:={#FontName}; Font.Color:={#FontColor}; Caption := IntToStr(GetSystemPhys + 1) + ' MB'; Parent := WizardForm; end; if (GetSystemPhys+1)<{#RAM} then begin RequirementsLbl.Caption := ExpandConstant('{cm:Requirements4}'); AddLabelToArray(ASysReq,RAMTotalLbl); end; //================= - =================// //================= - =================// SystemLbl := TLabel.Create(WizardForm); with SystemLbl do begin AutoSize:=False;

SetBounds(ScaleX(265), ScaleY(375), ScaleX(150), ScaleY(22)); Transparent:=True; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Caption := ExpandConstant('{cm:System}'); Parent := WizardForm; end; SystemNameLbl := TLabel.Create(WizardForm); with SystemNameLbl do begin AutoSize:=False; SetBounds(ScaleX(375), ScaleY(375), ScaleX(360), ScaleY(22)); Transparent:=True; Font.Size:=10; Font.Name:={#FontName}; Font.Color:={#FontColor}; Caption := GetWindowsName; Parent := WizardForm; end; GetWindowsVersionEx(Version); if not Version.NTPlatform or (Version.NTPlatform and (Version.Major<{#WinVerMajor})) or (Version.NTPlatform and (Version.Major={#WinVerMajor}) and (Version.Minor<{# WinVerMinor})) or (Version.NTPlatform and (Version.Major={#WinVerMajor}) and (Version.Minor={# WinVerMinor}) and (Version.ServicePackMajor<{#ServicePack})) then begin RequirementsLbl.Caption := ExpandConstant('{cm:Requirements4}'); AddLabelToArray(ASysReq,SystemNameLbl); end; //========== [ - SystemPage] ==========\\ //========== [ - SelectDirPage] ==========\\ SelectDir:=TLabel.Create(WizardForm); with SelectDir do begin Top:= ScaleY(157); Left:= ScaleX(320); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=16; Font.Style := [fsBold]; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:SelectDir1}'); end; SelectDir2:=TLabel.Create(WizardForm); with SelectDir2 do begin Top:= ScaleY(207); Left:= ScaleX(230); Width:= ScaleX(480);

Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:SelectDir2}'); end; SelectDir3:=TLabel.Create(WizardForm); with SelectDir3 do begin Top:= ScaleY(227); Left:= ScaleX(230); Width:= ScaleX(480); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:SelectDir3}'); end; TotalSpaceLabel1:=TLabel.Create(WizardForm); with TotalSpaceLabel1 do begin Top:= ScaleY(388); Left:= ScaleX(270); Width:= ScaleX(480); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:TotalSpace1}'); end; FreeSpaceLabel1:=TLabel.Create(WizardForm); with FreeSpaceLabel1 do begin Top:= ScaleY(351); Left:= ScaleX(250); Width:= ScaleX(480); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:FreeSpace1}');

////

///

end; NeedSpaceLabel1:=TLabel.Create(WizardForm); with NeedSpaceLabel1 do begin Top:= ScaleY(1364); Left:= ScaleX(1220); Width:= ScaleX(480); Height:= ScaleY(200); AutoSize:= false; ///// : WordWrap:= true; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:NeedSpace1}'); end; AfterSpaceLabel1:=TLabel.Create(WizardForm); with AfterSpaceLabel1 do begin Top:= ScaleY(314); Left:= ScaleX(270); Width:= ScaleX(480); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; //// : Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:AfterSpace1}'); end; DirEditLabel := TLabel.Create(WizardForm); with DirEditLabel do begin AutoSize:=False; SetBounds(ScaleX(245), ScaleY(253), ScaleX(400), ScaleY(15)); WordWrap:= True; ShowAccelChar := False; Transparent:=True; Font.Name:= {#FontName} Font.Size:= 12; Font.Color:={#FontColor}; Caption := MinimizePathName(WizardForm.DirEdit.Text, DirEditLabel.Font, DirE ditLabel.Width); Parent := WizardForm; end; WizardForm.DirEdit.OnChange:=@DirEditOnChange; with WizardForm.DirEdit do begin SetBounds(ScaleX(1230), ScaleY(204), ScaleX(318), ScaleY(15)); Parent := WizardForm; //Color:= Clblack;

BorderStyle := bsNone; Height := ScaleY(13); Width:= ScaleX(292); end; //========== [ - SelectDirPage] ==========\\ //========== [ - ComponentsPage] ==========\\ #ifdef Components ComponentsLabel1:= TLabel.Create(WizardForm); with ComponentsLabel1 do begin Top:= ScaleY(170); Left:= ScaleX(230); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=10; Font.Style := [fsBold]; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant(' .'); end;

ComponentsLabel:= TLabel.Create(WizardForm); with ComponentsLabel do begin Top:= ScaleY(210); Left:= ScaleX(230); Width:= ScaleX(480); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=10; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant(' , . " end; TextLabel:= TLabel.Create(WizardForm); with TextLabel do begin Left:= 125; Top:= 273; Width:= 200; Height:= 74; AutoSize:= false; Transparent:= true; WordWrap:= true; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Size:= 10; Font.Style:=[fsBold]; Parent:= WizardForm; OnClick:= @Languagetext1LabelClick;

Caption:=ExpandConstant('{cm:Text1}'); end; RUSTextLabel:= TLabel.Create(WizardForm); with RUSTextLabel do begin Left:= 160; Top:= 305; Width:= 150; Height:= 20; AutoSize:= false; Transparent:= true; WordWrap:= true; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Style := [fsBold]; Font.Size:= 10; Font.Style:=[fsBold]; Parent:= WizardForm; OnClick:= @Languagetext1LabelClick; Caption:=ExpandConstant('{cm:Text2}'); end; ENGTextLabel:= TLabel.Create(WizardForm); with ENGTextLabel do begin Left:= 160; Top:= 335; Width:= 150; Height:= 20; AutoSize:= false; Transparent:= true; WordWrap:= true; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Style := [fsBold]; Font.Size:= 10; Font.Style:=[fsBold]; Parent:= WizardForm; OnClick:= @Languagetext2LabelClick; Caption:=ExpandConstant('{cm:Text3}'); end; LanguagetextButton[1]:=BtnCreate(WizardForm.Handle,125,305,23,23,ExpandConstant( '{tmp}\RadioButtons.png'),0,True); BtnSetEvent(LanguagetextButton[1],BtnClickEventID,WrapBtnCallback(@SelectLanguag etext,1)); BtnSetCursor(LanguagetextButton[1],GetSysCursorHandle(32649)); LanguagetextButton[2]:=BtnCreate(WizardForm.Handle,125,332,23,23,ExpandConstant( '{tmp}\RadioButtons.png'),0,True); BtnSetEvent(LanguagetextButton[2],BtnClickEventID,WrapBtnCallback(@SelectLanguag etext,1)); BtnSetCursor(LanguagetextButton[2],GetSysCursorHandle(32649)); BtnSetChecked(LanguagetextButton[1],True); VoiceLabel:= TLabel.Create(WizardForm); with VoiceLabel do begin Left:= 510; Top:= 273; Width:= 200; Height:= 74;

AutoSize:= false; Transparent:= true; WordWrap:= true; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Style := [fsBold]; Font.Size:= 10; Font.Style:=[fsBold]; Parent:= WizardForm; Caption:=ExpandConstant('{cm:Text4}'); end; RUSVoiceLabel:= TLabel.Create(WizardForm); with RUSVoiceLabel do begin Left:= 546; Top:= 305; Width:= 150; Height:= 20; AutoSize:= false; Transparent:= true; WordWrap:= true; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Style := [fsBold]; Font.Size:= 10; // Font.Style:=[fsBold]; Parent:= WizardForm; OnClick:= @LanguageVoice1LabelClick; Caption:=ExpandConstant('{cm:Text2}'); end; ENGVoiceLabel:= TLabel.Create(WizardForm); with ENGVoiceLabel do begin Left:= 546; Top:= 335; Width:= 150; Height:= 20; AutoSize:= false; Transparent:= true; WordWrap:= true; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Style := [fsBold]; Font.Size:= 10; // Font.Style:=[fsBold]; Parent:= WizardForm; OnClick:= @LanguageVoice2LabelClick; Caption:=ExpandConstant('{cm:Text3}'); end; LanguagevoiceButton[1]:=BtnCreate(WizardForm.Handle,510,305,23,23,ExpandConstant ('{tmp}\RadioButtons.png'),0,True); BtnSetEvent(LanguagevoiceButton[1],BtnClickEventID,WrapBtnCallback(@SelectLangua gevoice,1)); BtnSetCursor(LanguagevoiceButton[1],GetSysCursorHandle(32649)); LanguagevoiceButton[2]:=BtnCreate(WizardForm.Handle,510,332,23,23,ExpandConstant ('{tmp}\RadioButtons.png'),0,True); BtnSetEvent(LanguagevoiceButton[2],BtnClickEventID,WrapBtnCallback(@SelectLangua gevoice,1)); BtnSetCursor(LanguagevoiceButton[2],GetSysCursorHandle(32649));

BtnSetChecked(LanguagevoiceButton[1],True); #endif //========== [ - ComponentsPage] ==========\\ //========== [ - SelectProgramGroupPage] ==========\\ SelectProgramGroupPage:=TLabel.Create(WizardForm); with SelectProgramGroupPage do begin Top:= ScaleY(179); Left:= ScaleX(323); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=16; Font.Style := [fsBold]; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:SelectGroup}'); end; SelectProgramGroupPage1:=TLabel.Create(WizardForm); with SelectProgramGroupPage1 do begin Top:= ScaleY(236); Left:= ScaleX(233); Width:= ScaleX(480); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:SelectGroup1}'); end; SelectProgramGroupPage2:=TLabel.Create(WizardForm); with SelectProgramGroupPage2 do begin Top:= ScaleY(256); Left:= ScaleX(233); Width:= ScaleX(480); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:SelectGroup2}'); end; NoIconsLabel:=TLabel.Create(WizardForm);

with NoIconsLabel do begin Top:= ScaleY(374); Left:= ScaleX(350); Width:= ScaleX(300); Height:= ScaleY(15); AutoSize:= false; WordWrap:= true; Font.Size:= 12 Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; OnClick:=@NoIconsLabelClick; Caption:= ExpandConstant('{cm:IconsCheck}'); end; GroupEditLabel := TLabel.Create(WizardForm); with GroupEditLabel do begin AutoSize:=False; SetBounds(ScaleX(245), ScaleY(283), ScaleX(400), ScaleY(15)); WordWrap:= True; ShowAccelChar := False; Transparent:=True; Font.Name:= {#FontName} Font.Size:= 12; Font.Color:={#FontColor}; //Font.Style:=[fsBold]; Caption := MinimizePathName(WizardForm.GroupEdit.Text, GroupEditLabel.Font, GroupEditLabel.Width); Parent := WizardForm; end; WizardForm.DirEdit.OnChange:=@DirEditOnChange; // WizardForm.DirEdit.OnChange := @GetFreeSpaceCaption; // WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text; // WizardForm.GroupEdit.OnChange := @GroupChange; //========== [ - SelectProgramGroupPage] ========\\ //========== [ - SelectTasksPage] ==========\\ SelectTasks:=TLabel.Create(WizardForm); with SelectTasks do begin Top:= ScaleY(179); Left:= ScaleX(322); Width:= ScaleX(480); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=16; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Style := [fsBold]; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:SelectTasks}'); end; SelectTasks1:=TLabel.Create(WizardForm);

with SelectTasks1 do begin Top:= ScaleY(235); Left:= ScaleX(308); Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Font.Size:=11; Font.Style := [fsBold]; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:SelectTasks1}'); end; DesktopLabel:=TLabel.Create(WizardForm); with DesktopLabel do begin Top:= ScaleY(273); Left:= ScaleX(370); Width:= ScaleX(370); Height:= ScaleY(45); AutoSize:= false; WordWrap:= true; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Size:= 11 Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:Desktop}'); end; DirectXLabel:=TLabel.Create(WizardForm); with DirectXLabel do begin Top:= ScaleY(312); Left:= ScaleX(440); Width:= ScaleX(400); Height:= ScaleY(15); AutoSize:= false; WordWrap:= true; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Size:= 11 Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:DirectX}'); end; LIVELabel:=TLabel.Create(WizardForm); with LIVELabel do begin Top:= ScaleY(1302); Left:= ScaleX(260); Width:= ScaleX(400); Height:= ScaleY(15); AutoSize:= false;

WordWrap:= true; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Size:= 10 Font.Style := [fsBold]; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:LIVE}'); end; VisualLabel:=TLabel.Create(WizardForm); with VisualLabel do begin Top:= ScaleY(348); Left:= ScaleX(440); Width:= ScaleX(400); Height:= ScaleY(15); AutoSize:= false; WordWrap:= true; Font.Name:={#FontName}; Font.Color:={#FontColor}; Font.Size:= 11 Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:Visual}'); end; //========== [ - SelectTasksPage] =========\\ //========== [ - InstallingPage] ==========\\ InstalLabel:= TLabel.Create(WizardForm); with InstalLabel do begin Left:= ScaleX(170); Top:= ScaleY(179); Width:= ScaleX(450); Height:= ScaleY(65); AutoSize:= false; Transparent:= true; WordWrap:= true; ParentFont := True; Alignment := taCenter; Font.Size:=16; Font.Style := [fsBold]; Font.Name:={#FontName}; Font.Color:={#FontColor}; Parent:= WizardForm; Caption:= ExpandConstant('{cm:Instal1}'); end; InstalLabel2:=TLabel.Create(WizardForm); with InstalLabel2 do begin Left:= ScaleX(310); Top:= ScaleY(221);; Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true;

Alignment := taCenter; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:Instal2}'); end; InstalLabel3:=TLabel.Create(WizardForm); with InstalLabel3 do begin Left:= ScaleX(155); Top:= ScaleY(246);; Width:= ScaleX(450); Height:= ScaleY(200); AutoSize:= false; WordWrap:= true; Alignment := taCenter; Font.Size:=11; Font.Name:={#FontName}; Font.Color:={#FontColor}; Transparent:= true; Parent:= WizardForm; Caption:= ExpandConstant('{cm:Instal3}'); end; //========== [ - InstallingPage] ==========\\ //========== [ - FinishedPage] ==========\\ //========== [ - FinishedPage] ==========\\ end; //**************************************************************[]******************** ******************************************\\ function InitializeSetup1:boolean; begin if not FileExists(ExpandConstant('{tmp}\isgsg.dll')) then ExtractTemporaryF ile('isgsg.dll'); if not FileExists(ExpandConstant('{tmp}\b2p.dll')) then ExtractTemporaryFil e('b2p.dll'); if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFil e('botva2.dll'); if not FileExists(ExpandConstant('{tmp}\get_hw_caps.dll')) then ExtractTempo raryFile('get_hw_caps.dll'); Result:=True; end; procedure InitializeWizard; begin if not FontExists({#FontName}) then begin ExtractTemporaryFile('{#Font}'); AddFontResource(ExpandConstant('{tmp}\{#Font}'), FR_PRIVATE, 0); end; WizardForm.Font.Name := {#FontName}; CreateWizardForm; Wzf; Buttons; NeedSpace; init_taskbar;

#ifdef Music ExtractTemporaryFile('Music.mp3'); BASS_Init('{tmp}\Music.mp3') // //// // BASS_Init(ExpandConstant('{tmp}\*')) // BASS_CreateOnOffButton(WizardForm, '{tmp}\MusicButton.png', 735, 350, 44, 44, 0) // / #endif #ifdef Splesh SpleshShow; #endif end; procedure HideComponents; begin WelcomeLabel.Hide; WelcomeLabel2.Hide; WelcomeLabel3.Hide; WelcomeLabel4.Hide; WelcomeLabel5.Hide; RequirementsLbl.Hide; ProcessorLbl.Hide; ProcessorNameLbl.Hide; VideoCardLbl.Hide; VideoCardNameLbl.Hide; SoundCardLbl.Hide; SoundCardNameLbl.Hide; RAMLbl.Hide; RAMTotalLbl.Hide; SystemLbl.Hide; SystemNameLbl.Hide; SelectDir.Hide; SelectDir2.Hide; SelectDir3.Hide; NeedSpaceLabel.Hide; FreeSpaceLabel.Hide; AfterSpaceLabel.Hide; TotalSpaceLabel.Hide; NeedSpaceLabel1.Hide; FreeSpaceLabel1.Hide; AfterSpaceLabel1.Hide; TotalSpaceLabel1.Hide; DirectXLabel.Hide; DesktopLabel.Hide; LIVELabel.Hide; VisualLabel.Hide; InstalLabel.Hide; InstalLabel2.Hide; InstalLabel3.Hide; #ifdef Components ComponentsLabel.Hide; ComponentsLabel1.Hide; #endif ImgSetVisibility(wp,False); ImgSetVisibility(sp,False); ImgSetVisibility(dp,False); ImgSetVisibility(gp,False); ImgSetVisibility(tp,False);

ImgSetVisibility(ip,False); ImgSetVisibility(fp,False); ImgSetVisibility(ep,False); ImgSetVisibility(hdd,False); ImgSetVisibility(Start,False); ImgSetVisibility(Tasks,False); ImgSetVisibility(Components,False); BtnSetVisibility(hDirBrowseBtn, false); BtnSetVisibility(hGroupBrowseBtn, false); ImgSetVisibility(Folder,False); ImgSetVisibility(Edit,False); WizardForm.DirEdit.Hide; WizardForm.GroupEdit.Hide; WizardForm.ComponentsList.Hide SelectProgramGroupPage.Hide; SelectProgramGroupPage1.Hide; SelectProgramGroupPage2.Hide; BtnSetVisibility(NoIconsCheck, false); NoIconsLabel.Hide; BtnSetVisibility(DPOCheck, false); BtnSetVisibility(DirectXCheck, false); BtnSetVisibility(LIVECheck, false); BtnSetVisibility(VisualCheck, false); SelectTasks.Hide; SelectTasks1.Hide; BtnSetVisibility(DesktopCheck, false); DirEditLabel.Hide; GroupEditLabel.Hide; #ifdef Components TextLabel.hide; RUSTextLabel.hide; ENGTextLabel.hide; BtnSetVisibility(LanguagetextButton[1], False); BtnSetVisibility(LanguagetextButton[2], False); VoiceLabel.hide; RUSVoiceLabel.hide; ENGVoiceLabel.hide; BtnSetVisibility(LanguagevoiceButton[1], False); BtnSetVisibility(LanguagevoiceButton[2], False); #endif end; Procedure CurPageChanged1(CurPageID: Integer); Begin SetStateNewButtons; HideComponents; BtnSetVisibility(hDirBrowseBtn,False); BtnSetVisibility(hGroupBrowseBtn,False); case CurPageID of wpWelcome: begin ImgSetVisibility(wp,True); WelcomeLabel.Show; WelcomeLabel2.Show; WelcomeLabel3.Show; WelcomeLabel4.Show; WelcomeLabel5.Show; end;

SystemPage.ID: begin ImgSetVisibility(sp,True); RequirementsLbl.Show; ProcessorLbl.Show; ProcessorNameLbl.Show; VideoCardLbl.Show; VideoCardNameLbl.Show; SoundCardLbl.Show; SoundCardNameLbl.Show; RAMLbl.Show; RAMTotalLbl.Show; SystemLbl.Show; SystemNameLbl.Show; end; wpSelectDir: begin ImgSetVisibility(dp,True); ImgSetVisibility(hdd,True); DirEditLabel.Show; AfterSpaceLabel.Show; TotalSpaceLabel.Show; NeedSpaceLabel.Show; FreeSpaceLabel.Show; AfterSpaceLabel1.Show; TotalSpaceLabel1.Show; NeedSpaceLabel1.Show; FreeSpaceLabel1.Show; SelectDir.Show; SelectDir2.Show; SelectDir3.Show; DirEditOnChange(nil); BtnSetVisibility(hDirBrowseBtn, true); end; wpSelectComponents: begin ImgSetVisibility(wp,True); ComponentsLabel1.Show; TextLabel.Show; RUSTextLabel.Show; ENGTextLabel.Show; BtnSetVisibility(LanguagetextButton[1], True); BtnSetVisibility(LanguagetextButton[2], True); VoiceLabel.Show; RUSVoiceLabel.Show; ENGVoiceLabel.Show; BtnSetVisibility(LanguagevoiceButton[1], True); BtnSetVisibility(LanguagevoiceButton[2], True); ComponentsLabel.Show; WizardForm.ComponentsList.Show; end; wpSelectProgramGroup: begin ImgSetVisibility(gp,True); GroupEditLabel.Show; BtnSetVisibility(hGroupBrowseBtn, true); SelectProgramGroupPage.Show;

SelectProgramGroupPage1.Show; SelectProgramGroupPage2.Show; NoIconsLabel.Show; BtnSetVisibility(NoIconsCheck, True); end; wpSelectTasks: begin ImgSetVisibility(tp,True); BtnSetVisibility(DesktopCheck, true); SelectTasks.Show; LIVELabel.Show; VisualLabel.Show; DirectXLabel.Show; SelectTasks1.Show; DesktopLabel.Show; BtnSetVisibility(DPOCheck, true); BtnSetVisibility(DirectXCheck, true); BtnSetVisibility(LIVECheck, true); BtnSetVisibility(VisualCheck, true); If WizardForm.FindComponent('NextButton') is TButton then #ifdef NextButton TButton(WizardForm.FindComponent('NextButton')). Caption:=ExpandConstant('{cm :NextButton}'); #endif end; wpInstalling: begin ImgSetVisibility(ip,True); InstalLabel.Show; InstalLabel2.Show; InstalLabel3.Show; BtnSetPosition(hCancelBtn, ScaleX(770), ScaleY(38), ScaleX(47), ScaleY(39)); BtnSetVisibility(CancelBtn, False); end; wpFinished: begin ImgSetVisibility(fp,True); BtnSetVisibility(CancelBtn, False); BtnSetVisibility(MinBtn, False); BtnSetPosition(hCancelBtn, ScaleX(770), ScaleY(38), ScaleX(47), ScaleY(39)); WelcomeLabel.Caption:=ExpandConstant('{cm:Finished1}'); WelcomeLabel2.Caption:=ExpandConstant('{cm:Finished2}'); WelcomeLabel3.Caption:=ExpandConstant('{cm:Finished3}'); WelcomeLabel4.Caption:=ExpandConstant('{cm:Finished4}'); WelcomeLabel5.Caption:=ExpandConstant('{cm:Finished5}'); WelcomeLabel.Show; WelcomeLabel2.Show; WelcomeLabel3.Show; WelcomeLabel4.Show; WelcomeLabel5.Show; end; end; if (CurPageID = wpFinished) and ISDoneError then begin ImgSetVisibility(ep,True); LabelTime3.Hide;

BtnSetVisibility(CancelBtn, False); BtnSetVisibility(MinBtn, False); BtnSetPosition(hCancelBtn, ScaleX(770), ScaleY(38), ScaleX(47), ScaleY(39)); WelcomeLabel.Caption:=ExpandConstant('{cm:Error1}'); WelcomeLabel2.Caption:=ExpandConstant('{cm:Error2}'); WelcomeLabel3.Caption:=ExpandConstant('{cm:Error3}'); WelcomeLabel4.Caption:=ExpandConstant('{cm:Error4}'); WelcomeLabel5.Caption:=ExpandConstant('{cm:Error5}'); WelcomeLabel.Font.Color:= clRed; WelcomeLabel2.Font.Color:= clRed; WelcomeLabel3.Font.Color:= clRed; WelcomeLabel4.Font.Color:= clRed; WelcomeLabel5.Font.Color:= clRed; end; ImgApplyChanges(WizardForm.Handle); end; procedure CancelButtonClick1(CurPageID: Integer; var Cancel, Confirm: Boolean); begin Confirm:=False; end; procedure DeinitializeSetup1(); begin SetWindowLong(WizardForm.Handle,-4,WFOldProc); SetMinimizeAnimation(OldMinimizeAnimation); gdipShutdown; ButtonFont.Free RemoveFontResource(ExpandConstant('{tmp}\{#Font}'), FR_PRIVATE, 0); WizardForm.Free; #ifdef Music BASS_DeInit; #endif end;

You might also like