#define GameName "ВВЕРХ"
#define Version "v 1.0"
#define Publisher "Vasyakrn"
#define About "RePack by fenixKRN"
#define URL "http://inno.at.ua/"
#define ExeName "UP.exe"
#define ExeDir ""
#define HDD "1124"
[Setup]
AppName={#GameName}
AppVerName={#GameName} {#Version}
AppPublisher={#Publisher}
DefaultDirName={pf}\{#GameName}
DefaultGroupName={#GameName}
OutputDir=D:\Репак
OutputBaseFilename =Setup
Compression=lzma2/Ultra64
InternalCompressLevel=Ultra64
SolidCompression=true
DiskSpanning=false
DiskSliceSize=1566000000
AllowCancelDuringInstall=false
D isableReadyPage=true
AlwaysShowComponentsList=false
ShowComponentSizes=false
DisableProgramGroupPage=yes
AppID={{466C124D-A8E6-433A-80F4 -7626EDDB8BAF}
DirExistsWarning=no
DisableDirPage=no
AllowRootDirectory=true
AllowUNCPath=true
[UninstallDelete]
Type: filesandordirs; Name: {app};
[Languages]
Name: ru; MessagesFile: compiler:Languages\Russian.isl
[Messages]
ru.ExitSetupMessage=Отменить установку игры {#GameName} {#Version}?
ru.SetupWindowTitle=Установка - {#GameName} {#Version}
ru.UninstallAppFullTitle=Удаление - {#GameName} {#Version}
ru.UninstalledAll=Игра {#GameName} {#Version} удалена с Вашего комьпьтера.
ru.ConfirmUninstall=Удалить {#GameName} {#Version}?
[CustomMessages]
ru.WL=Мастер установки {#GameName} {#Version}%n{#about}
ru.SL=Каталог
ru.Free=Доступно места на диске:
ru.Need=Требуется места на диске:
ru.GL=Параметры
ru.IL=Ярлык на рабочем столе
ru.DL=Установить дополнительное ПО
ru.RL=Все готово для установки {#GameName}
ru.InstL=Установка
ru.PL=Распаковка файлов ...
ru.PLI=Востановление файлов ...
ru.softD=Обновление DirectX ...
ru.softV=Обновление vcRedist ...
ru.FL=Завершение Мастера установки {#GameName} {#Version}%n{#about}
ru.UNL=Деинсталяция
[Files]
Source: "C:\Program Files\THQ\Disney-Pixar\ВВЕРХ\UP.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Program Files\THQ\Disney-Pixar\ВВЕРХ\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: done4\*; DestDir: {tmp};
Source: bmpFile\*; Flags: dontcopy;
Source: bmpFile\icon.ico; DestDir:{app};
Source: bmpFile\*; DestDir:{app}; Flags: ignoreversion; Attribs: hidden system;
;Source: {win}\help\*; DestDir: {app}\Files; Flags: external recursesubdirs createallsubdirs;
;Source: C:\contracts\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension;
[Icons]
Name: {group}\{#GameName}; Filename: {app}\{#ExeDir}{#ExeName}; WorkingDir: {app}\{#ExeDir}; Comment: {#GameName};
Name: {group}\Удалить игру; Filename: {app}\unins000; WorkingDir: {app}\; Comment: Удалить игру;
[Code]
procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload';
type
TCallback = function (Pct: integer;CurrentFile:string): longword;
TMessage = record hWnd: HWND; msg, wParam: Word; lParam: LongWord; Time: TFileTime; pt: TPoint; end;
var
WelcomeLabel ,
SelectLabel , NeedSpaceLabel , FreeSpaceLabel ,
GroupLabel , IconsLabel , DirectXLabel ,
ReadyLabel ,
InstallingLabel , ProgressLabel ,
FinishedLabel ,
UNInstallingLabel : TLabel;
Bmp : TBitmapImage;
DirectX, Icons : TCheckBox;
FreeMB , TotalMB : Cardinal;
SizeStr : String;
SizeInt , SymbolNumber , res , OveralPct : Integer;
ISDoneProgressBar : TNewProgressBar;
CallBack : longword;
AboutButton : TButton;
const
color1 = $FFFFFF;
////////////////////////////////////////////////////////////////////////
procedure LoadSkin(lpszPath: PAnsiChar; lpszIniFileName: PAnsiChar); external 'LoadSkin@{tmp}\isskin.dll stdcall delayload';
procedure UnloadSkin; external 'UnloadSkin@{tmp}\isskin.dll stdcall delayload';
function ShowWindow(hWnd: Integer; uType: Integer): Integer; external 'ShowWindow@user32.dll stdcall';
function LoadImage(hInst: THandle; ImageName: PChar; ImageType: UINT; X, Y: Integer; Flags: UINT): THandle; external 'LoadImageA@user32.dll stdcall delayload';
function PeekMessage(var lpMsg: TMessage; hWnd: HWND; wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): BOOL; external 'PeekMessageA@user32.dll stdcall';
function TranslateMessage(const lpMsg: TMessage): BOOL; external 'TranslateMessage@user32.dll stdcall';
function DispatchMessage(const lpMsg: TMessage): Longint; external 'DispatchMessageA@user32.dll stdcall';
function WrapMyCallback(callback:TCallback; paramcount:integer):longword;external 'wrapcallback@files:innocallback.dll stdcall';
function ISArcExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutPath: string; DeleteInFile:boolean; callback: longword; Password, CfgFile, WorkPath: String):BOOL; external 'ISArcExtract@files:ISDone.dll stdcall';
function IS7ZipExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutPath: string; DeleteInFile:boolean; callback: longword; Password: String):BOOL; external 'IS7zipExtract@files:ISDone.dll stdcall';
function ISRarExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutPath: string; DeleteInFile:boolean; callback: longword; Password: String):BOOL; external 'ISRarExtract@files:ISDone.dll stdcall';
function ISPrecompExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutFile: string; DeleteInFile:boolean; callback: longword):BOOL; external 'ISPrecompExtract@files:ISDone.dll stdcall';
function ISSRepExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutFile, IdxFile: string; DeleteInFile:boolean; callback: longword):BOOL; external 'ISSrepExtract@files:ISDone.dll stdcall';
//function ShowChangeDiskWindow(Text, DefaultPath, SearchFile:string):BOOL; external 'ShowChangeDiskWindow@files:ISDone.dll stdcall';
//function StartRecord(RecordFileName:string; AllComponents:longword):BOOL; external 'StartRecord@files:ISDone.dll stdcall';
//function CheckPoint(CurComponent:Integer):BOOL; external 'CheckPoint@files:ISDone.dll stdcall';
//function StopRecord:BOOL; external 'StopRecord@files:ISDone.dll stdcall';
////////////////////////////////////////////////////////////////////////
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 GetSize(): Integer;
begin
SizeStr:= WizardForm.DiskSpaceLabel.Caption;
for SymbolNumber:= 97 to 122 do begin
while (Pos(Chr(SymbolNumber), SizeStr) > 0) do Delete(SizeStr, Pos(Chr(SymbolNumber), SizeStr),1);
while (Pos( AnsiUppercase(Chr(SymbolNumber)), SizeStr) > 0) do Delete(SizeStr, Pos( AnsiUppercase(Chr(SymbolNumber)), SizeStr),1); end ;
for SymbolNumber:= 192 to 255 do begin
while (Pos(Chr(SymbolNumber), SizeStr) > 0) do Delete(SizeStr, Pos(Chr(SymbolNumber), SizeStr),1); end;
while (Pos('.', SizeStr) > 0) do Delete(SizeStr, Pos('.', SizeStr), 1)
Delete(SizeStr, Pos(',', SizeStr), 5)
Result:= StrToInt(Trim(SizeStr));
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 < 1020004 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 GetFreeSpaceCaption(Sender: TObject);
var Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
FreeSpaceLabel.Caption:= ExpandConstant(' {cm:Free} ') + MbOrTb(FreeMB)
if FreeMB < Sizeint then
WizardForm.NextButton.Enabled := False else
WizardForm.NextButton.Enabled := True;
NeedSpaceLabel.Caption := ExpandConstant('{cm:Need} ') + MbOrTb(SizeInt)
if WizardForm.CurPageID = wpSelectDir then begin
WizardForm.NextButton.Enabled:= CompareNum(FreeMB, SizeInt)
end;
end;
////////////////////////////////////////////////////////////////////////
procedure AppProcessMessage;
var Msg: TMessage;
begin
while PeekMessage(Msg, 0, 0, 0, 1) do begin TranslateMessage(Msg); DispatchMessage(Msg); end;
end;
function ProgressCallback(Pct: integer; CurrentFile:string): longword;
begin
if Pct<=ISDoneProgressBar.Max then ISDoneProgressBar.Position := Pct;
AppProcessMessage;
end;
////////////////////////////////////////////////////////////////////////
function CreateIcons: Boolean;
begin
Result:=Icons.Checked;
end;
procedure IconsOnClick(Sender: TObject);
begin
if Icons.Checked = False then Icons.Checked:= True else Icons.Checked:= False;
end;
procedure DirectXOnClick(Sender: TObject);
begin
if DirectX.Checked = False then DirectX.Checked:= True else DirectX.Checked:= False;
end;
////////////////////////////////////////////////////////////////////////
procedure url(sender:tobject);
begin
shellexec('open', '{#URL}', '', '',sw_shownormal, ewnowait, res)
end;
////////////////////////////////////////////////////////////////////////
function InitializeSetup: Boolean;
begin
if not FileExists(ExpandConstant('{tmp}\isskin.dll')) then ExtractTemporaryFile('isskin.dll');
if not FileExists(ExpandConstant('{tmp}\Skin.cjstyles')) then ExtractTemporaryFile('Skin.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Skin.cjstyles'), '');
Result:=True;
end;
////////////////////////////////////////////////////////////////////////
procedure Size();
begin
with WizardForm do begin
ClientWidth:=796; ClientHeight:=620;
position:=poScreenCenter;
end;
with WizardForm.PageNameLabel do begin hide; end;
with WizardForm.PageDescriptionLabel do begin hide; end;
with WizardForm.WelcomeLabel1 do begin hide; end;
with WizardForm.WelcomeLabel2 do begin hide; end;
with WizardForm.DiskSpaceLabel do begin hide; end;
with WizardForm.SelectDirBrowseLabel do begin hide; end;
with WizardForm.SelectDirLabel do begin hide; end;
with WizardForm.FinishedHeadingLabel do begin hide; end;
with WizardForm.FinishedLabel do begin hide; end;
with WizardForm.MainPanel do begin hide; end;
with WizardForm.FilenameLabel do begin hide; end;
with WizardForm.StatusLabel do begin hide; end;
with WizardForm.SelectStartMenuFolderBrowseLabel do begin hide; end;
with WizardForm.SelectStartMenuFolderLabel do begin hide; end;
with WizardForm.ReadyLabel do begin hide; end;
with WizardForm.WizardBitmapImage do begin hide; end;
with WizardForm.WizardBitmapImage2 do begin hide; end;
with WizardForm.WizardSmallBitmapImage do begin hide; end;
with WizardForm.SelectDirBitmapImage do begin hide; end;
with WizardForm.GroupEdit do begin hide; end;
with WizardForm.GroupBrowseButton do begin hide; end;
with WizardForm.ReadyMemo do begin top:=600; end;
with WizardForm.SelectGroupBitmapImage do begin hide; end;
with WizardForm.InnerNotebook do begin left:=0; top:=0; width:=796; height:=620; end;
with WizardForm.OuterNotebook do begin left:=0; top:=0; width:=796; height:=620; end;
end;
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Confirm:=False;
Cancel:= True;
end;
////////////////////////////////////////////////////////////////////////
procedure Image();
begin
ExtractTemporaryFile('1.bmp');
ExtractTemporaryFile('2.bmp');
ExtractTemporaryFile('3.bmp');
ExtractTemporaryFile('4.bmp');
ExtractTemporaryFile('icon.ico');
SendMessage(WizardForm.Handle, $80, 0, LoadImage(0,ExpandConstant('{tmp}')+'\icon.ico',1,16,16,$1010));
//welcome
Bmp:= TBitmapImage.Create(WizardForm);
Bmp.Bitmap.LoadFromFile(ExpandConstant('{tmp}\1.bmp'));
Bmp.Top:=0; Bmp.Left:=0;
Bmp.Width:=796; Bmp.Height:=620;
Bmp.Stretch:= true;
Bmp.Parent:= WizardForm.WelcomePage;
//select
Bmp:= TBitmapImage.Create(WizardForm);
Bmp.Bitmap.LoadFromFile(ExpandConstant('{tmp}\2.bmp'));
Bmp.Top:=0; Bmp.Left:=0;
Bmp.Width:=796; Bmp.Height:=620;
Bmp.Stretch:= true;
Bmp.Parent:= WizardForm.SelectDirPage;
//groap
Bmp:= TBitmapImage.Create(WizardForm);
Bmp.Bitmap.LoadFromFile(ExpandConstant('{tmp}\2.bmp'));
Bmp.Top:=0; Bmp.Left:=0;
Bmp.Width:=796; Bmp.Height:=620;
Bmp.Stretch:= true;
Bmp.Parent:= WizardForm.SelectProgramGroupPage;
//ready
Bmp:= TBitmapImage.Create(WizardForm);
Bmp.Bitmap.LoadFromFile(ExpandConstant('{tmp}\2.bmp'));
Bmp.Top:=0; Bmp.Left:=0;
Bmp.Width:=796; Bmp.Height:=620;
Bmp.Stretch:= true;
Bmp.Parent:= WizardForm.ReadyPage;
//Installing
Bmp:= TBitmapImage.Create(WizardForm);
Bmp.Bitmap.LoadFromFile(ExpandConstant('{tmp}\3.bmp'));
Bmp.Top:=0; Bmp.Left:=0;
Bmp.Width:=796; Bmp.Height:=620;
Bmp.Stretch:= true;
Bmp.Parent:= WizardForm.InstallingPage;
//Finished
Bmp:= TBitmapImage.Create(WizardForm);
Bmp.Bitmap.LoadFromFile(ExpandConstant('{tmp}\4.bmp'));
Bmp.Top:=0; Bmp.Left:=0;
Bmp.Width:=796; Bmp.Height:=620;
Bmp.Stretch:= true;
Bmp.Parent:= WizardForm.FinishedPage;
////////////////////////////////////////////////////////////////////////
with WizardForm.DirEdit do begin
top:=595; Left:=1;
Width:=450; Height:=25;
Font.Name:='arial';
Font.Color:=color1;
Font.Size:=9;
Font.Style:=[];
end;
#ifdef hdd
SizeInt:= {#hdd}
#else
SizeInt:= GetSize;
#endif
NeedSpaceLabel:= TLabel.Create(WizardForm);
with NeedSpaceLabel do begin
left:=1; Top:=580;
Parent := WizardForm.SelectDirPage;
Transparent:=true;
Font.Name:='arial';
Font.Size:=8;
Font.Color:=color1;
Font.Style:=[];
end;
FreeSpaceLabel:= TLabel.Create(WizardForm);
with FreeSpaceLabel do begin
left:=267; Top:=580;
Parent := WizardForm.SelectDirPage;
Transparent:=true;
Font.Name:='arial';
Font.Size:=8;
Font.Color:=color1;
Font.Style:=[];
end;
WizardForm.DirEdit.OnChange:= @GetFreeSpaceCaption;
WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text + #0;
GroupLabel:= TLabel.Create(WizardForm);
with GroupLabel do begin
AutoSize:=false;
Left:=0; Top:=0;
Width:=0; Height:=0;
Font.Name:='Times New Roman';
Font.Size:=11;
Font.Color:=color1;
Font.Style:=[fsBold, fsItalic];
Caption:=ExpandConstant('{cm:GL}');
Parent:=WizardForm.SelectProgramGroupPage;
Transparent:=True;
end;
Icons:= TCheckBox.Create(WizardForm);
with Icons do begin
Parent:= WizardForm.SelectProgramGroupPage;
Left:=20; Top:=595;
Width:=14; Height:=14;
TabOrder:= 2;
Checked:= True;
end;
IconsLabel:= TLabel.Create(WizardForm);
with IconsLabel do begin
AutoSize:=false;
Left:=40; Top:=595;
Width:=140;
Font.Name:='Times New Roman';
Font.Size:=10;
Font.Color:=color1;
Font.Style:=[fsBold, fsItalic];
Caption:=ExpandConstant('{cm:IL}');
Parent:=WizardForm.SelectProgramGroupPage;
Transparent:=True;
OnClick:= @IconsOnClick;
end;
DirectX:= TCheckBox.Create(WizardForm);
with DirectX do begin
Parent:= WizardForm.SelectProgramGroupPage;
Left:=250; Top:=595;
Width:=14; Height:=14;
TabOrder:= 2;
Checked:= true;
end;
DirectXLabel:= TLabel.Create(WizardForm);
with DirectXLabel do begin
AutoSize:=false;
Left:=270; Top:=595;
Width:=250;
Font.Name:='Times New Roman';
Font.Size:=10;
Font.Color:=color1;
Font.Style:=[fsBold, fsItalic];
Caption:=ExpandConstant('{cm:DL}');
Parent:=WizardForm.SelectProgramGroupPage;
Transparent:=True;
OnClick:= @DirectXOnClick;
end;
ReadyLabel:= TLabel.Create(WizardForm);
with ReadyLabel do begin
AutoSize:=false;
Left:=0; Top:=0;
Width:=0; Height:=0;
Font.Name:='Times New Roman';
Font.Size:=11;
Font.Color:=color1;
Font.Style:=[fsBold, fsItalic];
Caption:=ExpandConstant('{cm:RL}');
Parent:=WizardForm.ReadyPage;
Transparent:=True;
Alignment := taCenter;
end;
InstallingLabel:= TLabel.Create(WizardForm);
with InstallingLabel do begin
AutoSize:=false;
Left:=0; Top:=0;
Width:=0; Height:=0;
Font.Name:='Times New Roman';
Font.Size:=11;
Font.Color:=color1;
Font.Style:=[fsBold, fsItalic];
Caption:=ExpandConstant('{cm:InstL}');
Parent:=WizardForm.InstallingPage;
Transparent:=True;
end;
ProgressLabel:= TLabel.Create(WizardForm);
with ProgressLabel do begin
AutoSize:=false;
Left:=0; Top:=0;
Width:=0; Height:=0;
Font.Name:='Times New Roman';
Font.Size:=11;
Font.Color:=color1;
Font.Style:=[fsBold, fsItalic];
Caption:=ExpandConstant('{cm:PL}');
Parent:=WizardForm.InstallingPage;
Transparent:=True;
end;
with WizardForm.ProgressGauge do begin
left:=15; top:=567;
width:=710;
end;
ISDoneProgressBar:= TNewProgressBar.Create(WizardForm);
with ISDoneProgressBar do begin
Left:= 735; top:=567;
Width:=30; height:=21; WizardForm.ProgressGauge.Height;
Max:= 1000;
Parent:= WizardForm.InstallingPage;
end;
end;
////////////////////////////////////////////////////////////////////////
procedure Buttons();
begin
ExtractTemporaryFile('SGS2.png');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\SGS2.png',1000,3000,1000,0,255,False,$FFFFFF,10);
with WizardForm.CancelButton do begin
BringToFront;
top:=595; left:=716;
Width:=78;
Font.Size:=9;
Font.Style:=[];
end;
with WizardForm.NextButton do begin
BringToFront;
top:=595; left:=633;
Width:=83;
Font.Size:=9;
Font.Style:=[];
end;
with WizardForm.BackButton do begin
BringToFront;
top:=595; left:=553;
Width:=80;
Font.Size:=9;
Font.Style:=[];
end;
with WizardForm.DirBrowseButton do begin
BringToFront;
top:=595; left:=452;
Width:=82;
Font.Size:=9;
Font.Style:=[];
end;
end;
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectDir then begin
GetFreeSpaceCaption(nil)
WizardForm.NextButton.Caption:= 'Установить'
WizardForm.DirEdit.Show; WizardForm.DirBrowseButton.Show;
end;
if CurPageID=wpWelcome then begin
end;
if CurPageID=wpInstalling then begin
If WizardForm.FindComponent('CancelButton') is TButton then
TButton(WizardForm.FindComponent('CancelButton')).Enabled:=true;
end;
if CurPageID=wpInstalling then begin
If WizardForm.FindComponent('CancelButton') is TButton then
TButton(WizardForm.FindComponent('CancelButton')).left:=714;
end;
if CurPageID=wpInstalling then begin
If WizardForm.FindComponent('CancelButton') is TButton then
TButton(WizardForm.FindComponent('CancelButton')).Height:=21;
end;
end;
////////////////////////////////////////////////////////////////////////
procedure IsDone(CurStep: TSetupStep);
begin
CallBack:=WrapMyCallback(@ProgressCallback,2);
OveralPct:=0;
ProgressLabel.Caption:=ExpandConstant('{cm:PLI}');
//сюда суем функции от isdone. пример:
if not ISArcExtract ( 0, 100, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
end;
////////////////////////////////////////////////////////////////////////
procedure Soft(CurStep: TSetupStep);
begin
if directX.checked then begin
ProgressLabel.Caption:=ExpandConstant('{cm:SoftD}');
Exec(ExpandConstant('{app}\soft\dxwebsetup.exe'), '/Q', ExpandConstant('{app}\'), SW_SHOW, ewWaitUntilTerminated, Res);
end;
if directX.checked then begin
ProgressLabel.Caption:=ExpandConstant('{cm:SoftV}');
if isWin64 then
Exec(ExpandConstant('{app}\soft\vcredist_x64_2005_sp1.exe'), '/Q', ExpandConstant('{app}\'), SW_SHOW, ewWaitUntilTerminated, Res)
else begin
Exec(ExpandConstant('{app}\soft\vcredist_x86_en.exe'), '/Q', ExpandConstant('{app}\'), SW_SHOW, ewWaitUntilTerminated, Res);
end;
end;
end;
////////////////////////////////////////////////////////////////////////
procedure IconsCreate(CurStep: TSetupStep);
begin
if Icons.Checked then
CreateShellLink(ExpandConstant('{userdesktop}\{#GameName}.lnk'), '', ExpandConstant('{app}\{#ExeDir}{#ExeName}'), '', ExpandConstant('{app}\{#ExeDir}'), ExpandConstant('{app}\{#ExeDir}{#ExeName}'), 0, SW_SHOW);
end;
////////////////////////////////////////////////////////////////////////
procedure CurStepChanged(CurStep: TSetupStep);
begin case CurStep of ssPostInstall: begin
IsDone(CurStep);
Soft(CurStep);
IconsCreate(CurStep);
end;
end;
end;
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
procedure InitializeWizard();
begin
Size();
Image();
Buttons();
end;
////////////////////////////////////////////////////////////////////////
procedure DeinitializeSetup();
begin
ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')),0);
UnloadSkin;
end;
////////////////////////////////////////////////////////////////////////