Loading...
Error
 

Скачать торрент Как сделать RePack?

Страницы:   Пред.  1, 2, 3 ... 42, 43, 44, 45  След.

 
Автор Сообщение

svoboda

post 03-Июл-10 00:31

Люди, дайте плз хороший скрипт и рабочий - инсталятора, а то везд искал и они не рабочие.

The Godfather

post 03-Июл-10 05:27 (спустя 4 часа)

Вот такая история
pic
не подскажете строку для скрипта где можно выставить свой размер.
Заранее спасибо :)

The Godfather

post 03-Июл-10 10:05 (спустя 4 часа)

FLIX
спасибо :)

g00gle0

post 05-Июл-10 12:59 (спустя 2 дня 2 часа)

У меня такая проблема..... все делаю правильно (я так думаю), но когда создается инстал, то он не хочет запускать фриак, что бы тот распаковывался.... со скриптом все норм, но почему то ничего не работает! и во всех играх такая проблема
В чем может быть проблема?
скрипт
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Toy Story 3"
#define MyAppVersion "RePack"
#define MyAppPublisher "Nextrim-RePacks, Inc."
#define MyAppURL "http://www.tracker.nextrim.ru/";
#define MyAppExeName "Game-TS3.exe"

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{20848676-100B-4218-81BC-BBC22476FDA8}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputDir=C:\Users\3m1L\Desktop\Инсталяторы\Toy Story 3
OutputBaseFilename=setup
SetupIconFile=C:\13\games\Toy Story 3\ICONS\TS3.ico
Compression=lzma/ultra64
SolidCompression=true
InternalCompressLevel=ultra64

[Languages]
Name: eng; MessagesFile: compiler:Default.isl
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[CustomMessages]
eng.ArcBreak=Installation cancelled!
eng.ExtractedInfo=Extracted %1 Mb of %2 Mb
eng.ArcInfo=Archive: %1 of %2
eng.ArcTitle=Extracting FreeArc archive
eng.ArcError=Decompression failed with error code %1
eng.ArcFail=Decompression failed!
eng.AllProgress=Overall extraction progress: %1%%
eng.ArcBroken=Archive %1 is damaged%nor not enough free space.
eng.Extracting=Extracting: %1
eng.taskbar=%1%%, %2 remains
eng.remains=Remaining time: %1
eng.LongTime=at no time
eng.ending=ending
eng.hour=hours
eng.min=mins
eng.sec=secs

rus.ArcBreak=Установка прервана!
rus.ExtractedInfo=Распаковано %1 Мб из %2 Мб
rus.ArcInfo=Архив: %1 из %2
rus.ArcTitle=Распаковка архивов FreeArc
rus.ArcError=Распаковщик FreeArc вернул код ошибки: %1
rus.ArcFail=Распаковка не завершена!
rus.AllProgress=Общий прогресс распаковки: %1%%
rus.ArcBroken=Возможно, архив %1 повреждён%nили недостаточно места на диске назначения.
rus.Extracting=Распаковывается: %1
rus.taskbar=%1%%, жди %2
rus.remains=Осталось ждать %1
rus.LongTime=вечно
rus.ending=завершение
rus.hour=часов
rus.min=мин
rus.sec=сек

[Files]
Source: C:\Users\3m1L\Desktop\unarc.dll; DestDir: {tmp}; Flags: dontcopy deleteafterinstall
Source: C:\Users\3m1L\Desktop\InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy
Source: C:\13\games\Toy Story 3\Game-TS3.exe; DestDir: {app}; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Code]

const
Archives = '{src}\*.arc'; // укажите расположение архивов FreeArc; для внешних файлов строку в [Files] добавлять необязательно

PM_REMOVE = 1;
CP_ACP = 0; CP_UTF8 = 65001;
oneMb = 1048576;

type
#ifdef UNICODE ; если у вас ошибка на этой строке, то установите препроцессор или исправьте скрипт для вашей версии Inno Setup
#define A "W"
#else
#define A "A" ; точка входа в SetWindowText, {#A} меняется на A или W в зависимости от версии
//PAnsiChar = PChar; // Required for Inno Setup 5.3.0 and higher. (требуется для Inno Setup версии 5.3.0 и ниже)
#endif
#if Ver < 84018176
//AnsiString = String; // There is no need for this line in Inno Setup 5.2.4 and above (для Inno Setup версий 5.2.4 и выше эта строка не нужна)
#endif

TMyMsg = record
hwnd: HWND;
message: UINT;
wParam: Longint;
lParam: Longint;
time: DWORD;
pt: TPoint;
end;

TFreeArcCallback = function (what: PAnsiChar; int1, int2: Integer; str: PAnsiChar): Integer;
TArc = record Path: string; OrigSize: Integer; Size: Extended; end;

var
ExtractFile: TLabel;
lblExtractFileName: TLabel;
btnCancelUnpacking: TButton;
CancelCode, n, UnPackError, StartInstall: Integer;
Arcs: array of TArc;
msgError: string;
lastMb: Integer;
baseMb: Integer;
totalUncompressedSize: Integer; // total uncompressed size of archive data in mb
LastTimerEvent: DWORD;

Function MultiByteToWideChar(CodePage: UINT; dwFlags: DWORD; lpMultiByteStr: string; cbMultiByte: integer; lpWideCharStr: string; cchWideChar: integer): longint; external '[email protected] stdcall';
Function WideCharToMultiByte(CodePage: UINT; dwFlags: DWORD; lpWideCharStr: string; cchWideChar: integer; lpMultiByteStr: string; cbMultiByte: integer; lpDefaultChar: integer; lpUsedDefaultChar: integer): longint; external '[email protected] stdcall';

function PeekMessage(var lpMsg: TMyMsg; hWnd: HWND; wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): BOOL; external '[email protected] stdcall';
function TranslateMessage(const lpMsg: TMyMsg): BOOL; external '[email protected] stdcall';
function DispatchMessage(const lpMsg: TMyMsg): Longint; external '[email protected] stdcall';

Function OemToChar(lpszSrc, lpszDst: AnsiString): longint; external '[email protected] stdcall';
function GetWindowLong(hWnd, nIndex: Integer): Longint; external 'GetWindowLongA@user32 stdcall delayload';
function SetWindowText(hWnd: Longint; lpString: String): Longint; external 'SetWindowText{#A}@user32 stdcall delayload';

function GetTickCount: DWord; external 'GetTickCount@kernel32';
function WrapFreeArcCallback (callback: TFreeArcCallback; paramcount: integer):longword; external 'wrapcallback@files:innocallback.dll stdcall';
function FreeArcExtract (callback: longword; cmd1,cmd2,cmd3,cmd4,cmd5,cmd6,cmd7,cmd8,cmd9,cmd10: PAnsiChar): integer; external 'FreeArcExtract@files:unarc.dll cdecl';

procedure AppProcessMessage;
var
Msg: TMyMsg;
begin
while PeekMessage(Msg, 0, 0, 0, PM_REMOVE) do begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
end;

// Перевод числа в строку с точностью 3 знака (%.3n) с округлением дробной части, если она есть
Function NumToStr(Float: Extended): String;
Begin
Result:= Format('%.3n', [Float]); StringChange(Result, ',', '.');
while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = '.')) and (Length(Result) > 1) do
SetLength(Result, Length(Result)-1);
End;

function cm(Message: String): String; Begin Result:= ExpandConstant('{cm:'+ Message +'}') End;

Function Size64(Hi, Lo: Integer): Extended;
Begin
Result:= Lo;
if Lo<0 then Result:= Result + $7FFFFFFF + $7FFFFFFF + 2;
for Hi:= Hi-1 Downto 0 do
Result:= Result + $7FFFFFFF + $7FFFFFFF + 2;
End;

// Converts OEM encoded string into ANSI
// Преобразует OEM строку в ANSI кодировку
function OemToAnsiStr( strSource: AnsiString): AnsiString;
var
nRet : longint;
begin
SetLength( Result, Length( strSource ) );
nRet:= OemToChar( strSource, Result );
end;

// Converts ANSI encoded string into UTF-8
// Преобразует строку из ANSI в UTF-8 кодировку
function AnsiToUtf8( strSource: string ): string;
var
nRet : integer;
WideCharBuf: string;
MultiByteBuf: string;
begin
strSource:= strSource + chr(0);
SetLength( WideCharBuf, Length( strSource ) * 2 );
SetLength( MultiByteBuf, Length( strSource ) * 2 );

nRet:= MultiByteToWideChar( CP_ACP, 0, strSource, -1, WideCharBuf, Length(WideCharBuf) );
nRet:= WideCharToMultiByte( CP_UTF8, 0, WideCharBuf, -1, MultiByteBuf, Length(MultiByteBuf), 0, 0);

Result:= MultiByteBuf;
end;

// OnClick event function for btnCancel
procedure btnCancelUnpackingOnClick(Sender: TObject);
begin
if MsgBox( SetupMessage( msgExitSetupMessage ), mbInformation, MB_YESNO ) = IDYES then
CancelCode:= -127;
end;

var origsize: Integer;
// The callback function for getting info about FreeArc archive
function FreeArcInfoCallback (what: PAnsiChar; Mb, sizeArc: Integer; str: PAnsiChar): Integer;
begin
if string(what)='origsize' then origsize := Mb else
if string(what)='compsize' then else
if string(what)='total_files' then else
Result:= CancelCode;
end;

// Returns decompressed size of files in archive
function ArchiveOrigSize(arcname: string): Integer;
var
callback: longword;
Begin
callback:= WrapFreeArcCallback(@FreeArcInfoCallback,4); //FreeArcInfoCallback has 4 arguments
CancelCode:= 0;
AppProcessMessage;
try
// Pass the specified arguments to 'unarc.dll'
Result:= FreeArcExtract (callback, 'l', '--', AnsiToUtf8(arcname), '', '', '', '', '', '', '');
if CancelCode < 0 then Result:= CancelCode;
if Result >= 0 then Result:= origsize;
except
Result:= -63; // ArcFail
end;
end;

// Scans the specified folders for archives and add them to list
function FindArcs(dir: string): Extended;
var
FSR: TFindRec;
Begin
Result:= 0;
if FindFirst(ExpandConstant(dir), FSR) then begin
try
repeat
// Skip everything but the folders
if FSR.Attributes and FILE_ATTRIBUTE_DIRECTORY > 0 then CONTINUE;
n:= GetArrayLength(Arcs);
// Expand the folder list
SetArrayLength(Arcs, n +1);
Arcs[n].Path:= ExtractFilePath(ExpandConstant(dir)) + FSR.Name;
Arcs[n].Size:= Size64(FSR.SizeHigh, FSR.SizeLow);
Result:= Result + Arcs[n].Size;
Arcs[n].OrigSize := ArchiveOrigSize(Arcs[n].Path)
totalUncompressedSize := totalUncompressedSize + Arcs[n].OrigSize
until not FindNext(FSR);
finally
FindClose(FSR);
end;
end;
End;

// Sets the TaskBar title
Procedure SetTaskBarTitle(Title: String); var h: Integer;
Begin
h:= GetWindowLong(MainForm.Handle, -8); if h <> 0 then SetWindowText(h, Title);
End;

// Converts milliseconds to human-readable time
// Конвертирует милисекунды в человеко-читаемое изображение времени
Function TicksToTime(Ticks: DWord; h,m,s: String; detail: Boolean): String;
Begin
if detail {hh:mm:ss format} then
Result:= PADZ(IntToStr(Ticks/3600000), 2) +':'+ PADZ(IntToStr((Ticks/1000 - Ticks/1000/3600*3600)/60), 2) +':'+ PADZ(IntToStr(Ticks/1000 - Ticks/1000/60*60), 2)
else if Ticks/3600 >= 1000 {more than hour} then
Result:= IntToStr(Ticks/3600000) +h+' '+ PADZ(IntToStr((Ticks/1000 - Ticks/1000/3600*3600)/60), 2) +m
else if Ticks/60 >= 1000 {1..60 minutes} then
Result:= IntToStr(Ticks/60000) +m+' '+ PADZ(IntToStr(Ticks/1000 - Ticks/1000/60*60), 2) +s
else Result:= IntToStr(Ticks/1000) +s {less than one minute}
End;

// The main callback function for unpacking FreeArc archives
function FreeArcCallback (what: PAnsiChar; Mb, sizeArc: Integer; str: PAnsiChar): Integer;
var
percents, Remaining: Integer;
s: String;
begin
if GetTickCount - LastTimerEvent > 1000 then begin
// This code will be executed once each 1000 ms (этот код будет выполняться раз в 1000 миллисекунд)
// ....
// End of code executed by timer
LastTimerEvent := LastTimerEvent+1000;
end;

if string(what)='filename' then begin
// Update FileName label
lblExtractFileName.Caption:= FmtMessage( cm( 'Extracting' ), [OemToAnsiStr( str )] )
end else if (string(what)='write') and (totalUncompressedSize>0) and (Mb>lastMb) then begin
// Assign to Mb *total* amount of data extracted to the moment from all archives
lastMb := Mb;
Mb := baseMb+Mb;

// Update progress bar
WizardForm.ProgressGauge.Position:= Mb;

// Show how much megabytes/archives were processed up to the moment
percents:= (Mb*1000) div totalUncompressedSize;
s := FmtMessage(cm('ExtractedInfo'), [IntToStr(Mb), IntToStr(totalUncompressedSize)]);
if GetArrayLength(Arcs)>1 then
s := s + '. '+FmtMessage(cm('ArcInfo'), [IntToStr(n+1), IntToStr(GetArrayLength(Arcs))])
;ExtractFile.Caption := s

// Calculate and show current percents
percents:= (Mb*1000) div totalUncompressedSize;
s:= FmtMessage(cm('AllProgress'), [Format('%.1n', [Abs(percents/10)])]);
if Mb > 0 then Remaining:= trunc((GetTickCount - StartInstall) * Abs((totalUncompressedSize - Mb)/Mb)) else Remaining:= 0;
if Remaining = 0 then SetTaskBarTitle(cm('ending')) else begin
s:= s + '. '+FmtMessage(cm('remains'), [TicksToTime(Remaining, cm('hour'), cm('min'), cm('sec'), false)])
SetTaskBarTitle(FmtMessage(cm('taskbar'), [IntToStr(percents/10), TicksToTime(Remaining, 'h', 'm', 's', false)]))
end;
WizardForm.FileNameLabel.Caption := s
end;
AppProcessMessage;
Result:= CancelCode;
end;

// Extracts all found archives
function UnPack(Archives: string): Integer;
var
totalCompressedSize: Extended;
callback: longword;
FreeMB, TotalMB: Cardinal;
begin
// Display 'Extracting FreeArc archive'
lblExtractFileName.Caption:= '';
lblExtractFileName.Show;
ExtractFile.caption:= cm('ArcTitle');
ExtractFile.Show;
// Show the 'Cancel unpacking' button and set it as default button
btnCancelUnpacking.Caption:= WizardForm.CancelButton.Caption;
btnCancelUnpacking.Show;
WizardForm.ActiveControl:= btnCancelUnpacking;
WizardForm.ProgressGauge.Position:= 0;
// Get the size of all archives
totalUncompressedSize := 0;
totalCompressedSize := FindArcs(Archives);
WizardForm.ProgressGauge.Max:= totalUncompressedSize;
// Other initializations
callback:= WrapFreeArcCallback(@FreeArcCallback,4); //FreeArcCallback has 4 arguments
StartInstall:= GetTickCount; {время начала распаковки}
LastTimerEvent:= GetTickCount;
baseMb:= 0

for n:= 0 to GetArrayLength(Arcs) -1 do
begin
lastMb := 0
CancelCode:= 0;
AppProcessMessage;
try
// Pass the specified arguments to 'unarc.dll'
Result:= FreeArcExtract (callback, 'x', '-o+', '-dp' + AnsiToUtf8( ExpandConstant('{app}') ), '--', AnsiToUtf8(Arcs[n].Path), '', '', '', '', '');
if CancelCode < 0 then Result:= CancelCode;
except
Result:= -63; // ArcFail
end;
baseMb:= baseMb+lastMb

// Error occured
if Result <> 0 then
begin
msgError:= FmtMessage(cm('ArcError'), [IntToStr(Result)]);
GetSpaceOnDisk(ExtractFileDrive(ExpandConstant('{app}')), True, FreeMB, TotalMB);
case Result of
-1: if FreeMB < 32 {Мб на диске} then msgError:= SetupMessage(msgDiskSpaceWarningTitle)
else msgError:= msgError + #13#10 + FmtMessage(cm('ArcBroken'), [ExtractFileName(Arcs[n].Path)]);
-127: msgError:= cm('ArcBreak'); //Cancel button
-63: msgError:= cm('ArcFail');
end;
// MsgBox(msgError, mbInformation, MB_OK); //сообщение показывается на странице завершения
Log(msgError);
Break; //прервать цикл распаковки
end;
end;
// Hide labels and button
WizardForm.FileNameLabel.Caption:= '';
lblExtractFileName.Hide;
ExtractFile.Hide;
btnCancelUnpacking.Hide;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
begin
UnPackError:= UnPack(Archives)
if UnPackError = 0 then
SetTaskBarTitle(SetupMessage(msgSetupAppTitle))
else
begin
// Error occured, uninstall it then
Exec(ExpandConstant('{uninstallexe}'), '/SILENT','', sw_Hide, ewWaitUntilTerminated, n); //откат установки из-за ошибки unarc.dll
SetTaskBarTitle(SetupMessage(msgErrorTitle))
WizardForm.Caption:= SetupMessage(msgErrorTitle) +' - '+ cm('ArcBreak')
end;
end;
end;

// стандартный способ отката (не нужна CurPageChanged), но архивы распаковываются до извлечения файлов инсталлятора
// if CurStep = ssInstall then
// if UnPack(Archives) <> 0 then Abort;

Procedure CurPageChanged1(CurPageID: Integer);
Begin
if (CurPageID = wpFinished) and (UnPackError <> 0) then
begin // Extraction was unsuccessful (распаковщик вернул ошибку)
// Show error message
WizardForm.FinishedLabel.Font.Color:= $0000C0; // red (красный)
WizardForm.FinishedLabel.Height:= WizardForm.FinishedLabel.Height * 2;
WizardForm.FinishedLabel.Caption:= SetupMessage(msgSetupAborted) + #13#10#13#10 + msgError;
end;
End;

procedure InitializeWizard();
begin
with WizardForm.ProgressGauge do
begin
// Create a label to show current FileName being extracted
lblExtractFileName:= TLabel.Create(WizardForm);
lblExtractFileName.parent:=WizardForm.InstallingPage;
lblExtractFileName.autosize:=false;
lblExtractFileName.Width:= Width;
lblExtractFileName.top:=Top + ScaleY(35);
lblExtractFileName.Caption:= '';
lblExtractFileName.Hide;

// Create a label to show percentage
ExtractFile:= TLabel.Create(WizardForm);
ExtractFile.parent:=WizardForm.InstallingPage;
ExtractFile.autosize:=false;
ExtractFile.Width:= Width;
ExtractFile.top:=lblExtractFileName.Top + ScaleY(16);
ExtractFile.caption:= '';
ExtractFile.Hide;
end;

// Create a 'Cancel unpacking' button and hide it for now.
btnCancelUnpacking:=TButton.create(WizardForm);
btnCancelUnpacking.Parent:= WizardForm;
btnCancelUnpacking.SetBounds(WizardForm.CancelButton.Left, WizardForm.CancelButton.top, WizardForm.CancelButton.Width, WizardForm.CancelButton.Height);
btnCancelUnpacking.OnClick:= @btnCancelUnpackingOnClick;
btnCancelUnpacking.Hide;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
CurPageChanged1(CurPageID);
end;

var
Label1: TLabel;

Procedure InitializeWizard1();
begin
Label1:=TLabel.Create(WizardForm)
Label1.Left:=10
Label1.Top:=330
Label1.Font.Color:=clBlack
Label1.Caption:='Repack by 3m1L'
Label1.Parent:=WizardForm
end;

[Icons]
Name: {group}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; WorkingDir: {app}
Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}

[Registry]
Root: HKLM; SubKey: SOFTWARE\Disney Interactive Studios\TS3; ValueType: string; ValueName: InstallPath; ValueData: C:\13\games\Toy Story 3\
Root: HKLM; SubKey: SOFTWARE\Disney Interactive Studios\TS3; ValueType: string; ValueName: InstallExePath; ValueData: C:\13\games\Toy Story 3\\Game-TS3.exe
Root: HKLM; SubKey: SOFTWARE\Disney Interactive Studios\TS3; ValueType: string; ValueName: Language; ValueData: rus

post 05-Июл-10 18:27 (спустя 5 часов)

Топик был перенесен из форума Правила, инструкции, советы, FAQ в форум Общие игровые вопросы


Andruha
 

shumaher

post 07-Июл-10 18:58 (спустя 2 дня 5 часов)

Кто знает ключь активации для Дальнобойщиков

paladinko

post 15-Июл-10 23:43 (спустя 8 дней)

какой прогой можно авторан красивый сделать?...что он был не в окне а картинкой)подскажите...

[-alex-]

post 15-Июл-10 23:44 (спустя 1 минута)

AutoPlay Media Studio

Paladin000

post 25-Июл-10 20:06 (спустя 9 дней)

Возник такой вопрос: а что если файлы игры не лежат в одном каталоге? Я например хочу сделать свой первый репак (Dragon Age со всеми ДЛС и последним патчем, без всякого пережатия), но все установленные ДЛС лежат не в той папке, где находиться игра. Что же делать, как мне быть? :shock:

deus_ex

post 26-Июл-10 00:49 (спустя 4 часа)

Ц Paladin000 писал(а):

Что же делать, как мне быть?
читать справку и руборд

al'akir

post 28-Июл-10 05:45 (спустя 2 дня 4 часа)

Доброго времени суток.
Ребята, помогите, пожалуйста.
Cорри, если этот вопрос уже был.
Не очень давно занимаюсь созданиями "перепаковок", но общую суть уловил.
Получается делать "обычные" перепаковки, без сжимания файлов (FreeArc и т.п.), решил научится "прикручивать" упакованные фриарком файлы к Инно сетап, и ничего не получается.
Вот пример скрипта
[Setup]
SourceDir=.
OutputDir=F:\repack\2 - Compil Files
AppName=StarCraft II
AppVerName=StarCraft II
AppVersion=StarCraft II
AppPublisher=al'akir - nk
AppCopyright=al'akir - nk
DefaultDirName=D:\Games\StarCraft II
DefaultGroupName=StarCraft II
AllowNoIcons=yes
OutputBaseFilename=StarCraft2
WizardImageFile=F:\repack\1 - Other Files\StarCraft\image\left.bmp
WizardSmallImageFile=C:\Compilar\Smart Install Maker\Bitmaps\Header\al'akir-0.bmp
SetupIconFile=F:\repack\1 - Other Files\StarCraft\icon.ico
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=lzma/ultra
SolidCompression=true
DiskSpanning=yes
DiskSliceSize=2100000000
SlicesPerDisk=1
InternalCompressLevel=ultra
VersionInfoCompany=al'akir - nk
VersionInfoCopyright=al'akir - nk
VersionInfoProductName=StarCraft II

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[Messages]
BeveledLabel=repack by Avi 2010 © al'akir - nk

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}

[Files]
Source: ISSkin.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: steam.cjstyles; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\1.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\10.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\11.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\13.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\14.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\2.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\3.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\4.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\5.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\6.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\7.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\8.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\9.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\image\label.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: isgsg.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: bass.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\TerranSC2-01.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\TerranSC2-02.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\TerranSC2-03.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\TerranSC2-04.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\TerranSC2-05.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\THorner03MusicEventA.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\BattleNet_MusicwithEndFade.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\Music_ActionScary.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\Music_DangerAlertFull.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\Music_Inspriational2_Full.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\Music_LowTensionInspriational_Full.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\Music_T17.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: F:\repack\1 - Other Files\StarCraft\music\Music_ZergRolloutC.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak

Source: D:\SC\StarCraft II\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension

[Icons]
Name: {group}\StarCraft II; Filename: {app}\StarCraft II.exe; WorkingDir: {app}
Name: {userdesktop}\StarCraft II; Filename: {app}\StarCraft II.exe; WorkingDir: {app}; Tasks: desktopicon
Name: {group}\{cm:UninstallProgram,StarCraft II}; Filename: {uninstallexe}

[Run]
Description: {cm:LaunchProgram, StarCraft II}; Filename: {app}\StarCraft II.exe; WorkingDir: {app}; Flags: nowait postinstall skipifsilent unchecked

[UninstallDelete]
Type: filesandordirs; Name: {app}

[Code]
const
Indent=25;

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external '[email protected] stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boolean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssSetBkgImage(FileName:PChar); external 'ssSetBkgImage@files:isgsg.dll stdcall delayload';
procedure ssAddImage(FileName:PChar); external 'ssAddImage@files:isgsg.dll stdcall delayload';
procedure ssStartShow; external 'ssStartShow@files:isgsg.dll stdcall delayload';
procedure ssStopShow; external 'ssStopShow@files:isgsg.dll stdcall delayload';
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';
function GetSystemMetrics(nIndex:Integer):integer; external '[email protected] stdcall delayload';
procedure ShowMP3Panel(hMainFrm:HWND;StartVolume:integer;DefMP3Dir,BASSDir,MLabel:PChar;IsShowMP3Info,IsBkgFrmVisible:boolean;ShowTimeMP3Info:integer;dBottom:integer);external 'ShowMP3Panel@files:isgsg.dll stdcall';
procedure KillMP3Panel;external 'KillMP3Panel@files:isgsg.dll stdcall';
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 '[email protected] stdcall';

function InitializeSetup:boolean;
begin
ExtractTemporaryFile('TerranSC2-01.mp3');
ExtractTemporaryFile('TerranSC2-02.mp3');
ExtractTemporaryFile('TerranSC2-03.mp3');
ExtractTemporaryFile('TerranSC2-04.mp3');
ExtractTemporaryFile('TerranSC2-05.mp3');
ExtractTemporaryFile('THorner03MusicEventA.mp3');
ExtractTemporaryFile('BattleNet_MusicwithEndFade.mp3');
ExtractTemporaryFile('Music_ActionScary.mp3');
ExtractTemporaryFile('Music_DangerAlertFull.mp3');
ExtractTemporaryFile('Music_Inspriational2_Full.mp3');
ExtractTemporaryFile('Music_LowTensionInspriational_Full.mp3');
ExtractTemporaryFile('Music_T17.mp3');
ExtractTemporaryFile('Music_ZergRolloutC.mp3');
ExtractTemporaryFile('bass.dll');
ExtractTemporaryFile('steam.cjstyles');
LoadSkin(ExpandConstant('{tmp}')+'\steam.cjstyles', '');
Result:=True;
end;

procedure InitializeWizard;
begin
ExtractTemporaryFile('label.jpg');
ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}')+'\label.jpg',4000,3000,2000,0,255,False,$FFFFFF,10);
ShowMP3Panel(WizardForm.Handle,80,ExpandConstant('{tmp}'),ExpandConstant('{tmp}'),'OST StarCraft II',False,True,0,Indent);
ssInitialize(GetWindowLong(MainForm.Handle,-8),20,True,1,$FF000000);
ExtractTemporaryFile('1.jpg');
ssSetBkgImage(ExpandConstant('{tmp}')+'\1.jpg');
WizardForm.BeveledLabel.Enabled:=True;
end;

begin
WizardForm.Font.Name:='MS Sans Serif' // Øðèôò
WizardForm.Font.Style:=[fsBold] // Ñòèëü øðèôòà
WizardForm.Font.Color:=clBlack // Öâåò øðèôòà
end.

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin
ExtractTemporaryFile('2.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\2.jpg');
ExtractTemporaryFile('3.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\3.jpg');
ExtractTemporaryFile('4.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\4.jpg');
ExtractTemporaryFile('5.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\5.jpg');
ExtractTemporaryFile('6.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\6.jpg');
ExtractTemporaryFile('7.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\7.jpg');
ExtractTemporaryFile('8.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\8.jpg');
ExtractTemporaryFile('9.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\9.jpg');
ExtractTemporaryFile('10.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\10.jpg');
ExtractTemporaryFile('11.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\11.jpg');
ExtractTemporaryFile('13.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\13.jpg');
ExtractTemporaryFile('14.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\14.jpg');
ssStartShow;
end;
if CurStep=ssPostInstall then ssStopShow;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID=wpInstalling then begin
WizardForm.MainPanel.Visible:=False;
WizardForm.Bevel1.Visible:=False;
WizardForm.Width:=ScaleX(395);
WizardForm.Height:=ScaleY(142);
WizardForm.Left:=ScaleX(GetSystemMetrics(0)-WizardForm.Width-Indent);
WizardForm.Top:=ScaleY(GetSystemMetrics(1)-WizardForm.Height-Indent);
WizardForm.InnerNotebook.Left:=ScaleX(10);
WizardForm.InnerNotebook.Top:=ScaleY(10);
WizardForm.InnerNotebook.Width:=ScaleX(370);
WizardForm.StatusLabel.Left:=ScaleX(0);
WizardForm.StatusLabel.Top:=ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0);
WizardForm.FileNameLabel.Top:=ScaleY(20);
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(40);
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(154);
WizardForm.CancelButton.Top:=ScaleY(80);
end;
if (CurPageID=wpFinished) or (CurPageID=wpInfoAfter) then begin
if WizardForm.Width<>502 then begin
WizardForm.Visible:=False;
WizardForm.Width:=ScaleX(502);
WizardForm.Height:=ScaleY(392);
WizardForm.Left:=(GetSystemMetrics(0)-WizardForm.Width) div 2;
WizardForm.Top:=(GetSystemMetrics(1)-WizardForm.Height) div 2;
WizardForm.MainPanel.Visible:=True;
WizardForm.Bevel1.Visible:=True;
WizardForm.InnerNotebook.Left:=ScaleX(40);
WizardForm.InnerNotebook.Top:=ScaleY(72);
WizardForm.InnerNotebook.Width:=ScaleX(417);
WizardForm.Visible:=True;
end;
end;
end;

procedure DeinitializeSetup;
begin
KillMP3Panel;
ShowWindow(WizardForm.Handle,0);
UnloadSkin();
ssDeInitialize;
end;
В него нужно добавить строчки, распаковки фриарковских архивов и видимо убрать строчки на ссылки папки с игрой (как делал обычно).
В скрипт включенна музыка и слайд шоу.
Помогите, пожалуйста если не сложно.
Заранее огромное спасибо.

X-pack

post 16-Авг-10 16:26 (спустя 19 дней)

svoboda
ужос

yaskitya

post 19-Сен-10 19:20 (спустя 1 месяц 3 дня)

Можете скинуть ссылки там где на руборде написаны статьи про создание репков а то некотрые темы явно мне не нужны и я хочу сэкономить свое время и не смотеть пару сотен не нужных страниц форума, а то у нас трекере в R.G Games никто не умеет репаки делать

HeupoH

post 19-Сен-10 19:51 (спустя 31 минута)

yaskitya
Основной отрост по инно,всё что там есть всё нодо читать (10 тем по 100 страниц,и 50+страниц 11 тема)

yaskitya

post 19-Сен-10 20:39 (спустя 48 минут)

Ц HeupoH писал(а):

yaskitya
Основной отрост по инно,всё что там есть всё нодо читать (10 тем по 100 страниц,и 50+страниц 11 тема)
Мне бы на ссылки на эти тему или хотя бы название

skit

post 23-Сен-10 13:43 (спустя 3 дня)

Скажите мне ! Очень срочно надо ! Как извлечь скрипт из экзешника ?

BobbyDee

post 04-Окт-10 21:44 (спустя 11 дней)

Ц NERO100 писал(а):

Пожалуйста напишите как сделать RePack??????????
Я скачал Inno Setup но вообще не пойму как с ним работать!!!
Вот руководство с примером скриптов (All Inclusive) :D http://www.yurban.ru/articles/how_to_make_repack_cr..._warhead_to_dvd5

добавлено спустя 36 секунд:
Ц skit писал(а):

Скажите мне ! Очень срочно надо ! Как извлечь скрипт из экзешника ?
Скрипт никак (не знаю способа), а вот распаковать архивы Inno Setup можно

vv-matveev

post 16-Окт-10 09:49 (спустя 11 дней)

Может кто-нибудь всяких картинок-шаблонов в png подкинуть вот таких?
Скрытый текст
pic
или подскажите в чем такие делать?

GraFFiti20

post 20-Окт-10 16:23 (спустя 4 дня)

Почему у меня при удалении выходит эта ошибка?
http://s001.radikal.ru/i196/1010/52/c40b55c605af.jpg
мой скрипт --
Скрытый текст
;#define records
[Setup]
AppName=Devil May Cry 4
AppVerName=Devil May Cry 4 [v1.1.0.0]
AppPublisher=CAPCOM CO.,LTD.
DefaultDirName={pf}\Devil May Cry 4
DefaultGroupName=Devil May Cry 4
WizardImageFile=WizardImage.bmp
WizardSmallImageFile=WizardSmallImage.bmp
SetupIconFile=icon1.ico
DiskSpanning=false

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[Messages]
DiskSpaceMBLabel=Требуется как минимум 8 гб свободного дискового пространства.
BeveledLabel=_______________________________RePack by graffiti20__________________________________________

[CustomMessages]
rus.FinishedLabel=Devil May Cry 4 установлена на Ваш компьютер. Приложение можно запустить с помощью соответствующего значка.Нажмите «Завершить», чтобы выйти из программы установки.

[Components]
Name: DX9; Description: Обновить DirectX9 (рекомендуется); Types: full
Name: Visual; Description: Установить Microsoft Visual C++ 2008 Redistributable; Types: full

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

[Run]
Filename: {src}\Redist\vcredist_x86.exe; StatusMsg: Установка Visual C++; Check: not Is64BitInstallMode; Flags: runhidden; Components: Visual
Filename: {src}\Redist\vcredist_x64.exe; StatusMsg: Установка Visual C++; Check: Is64BitInstallMode; Flags: runhidden; Components: Visual
Filename: {src}\Redist\DirectX\dxsetup.exe; StatusMsg: Установка DirectX; Components: DX9

[Files]
#ifdef records
Source: records.inf; DestDir: {tmp}; Flags: dontcopy
#endif
Source: DirBitmap.bmp; DestDir: {tmp}; Flags: dontcopy
Source: GroupBitmap.bmp; DestDir: {tmp}; Flags: dontcopy
Source: Logo.bmp; DestDir: {tmp}; Flags: dontcopy
Source: button.bmp; DestDir: {tmp}; Flags: dontcopy
Source: Logo.bmp; DestDir: {app}; Attribs: hidden system
Source: WizardSmallImage.bmp; DestDir: {app}; Attribs: hidden system
Source: ISDone.dll; DestDir: {tmp}; Flags: dontcopy
Source: InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy

[Icons]
Name: "{group}\Devil May Cry 4"; Filename: "{app}\DMC4Launcher.exe"
Name: "{group}\{cm:UninstallProgram,Devil May Cry 4}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\Devil May Cry 4"; Filename: "{app}\DMC4Launcher.exe"; WorkingDir: {app}; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Devil May Cry 4"; Filename: "{app}\DMC4Launcher.exe"; Tasks: quicklaunchicon

[UninstallDelete]
Type: filesandordirs; Name: {app}

[Code]
type
TBarInfo = record stage, name: string; size, allsize: Extended; count, perc, pos, mb, time: Integer; end;

const
Color = clBlack;
ButtonWidth = 80;
ButtonHeight = 23;

bidBack = 0;
bidNext = 1;
bidCancel = 2;
bidDirBrowse = 3;
bidGroupBrowse = 4;
bidCancelUnp = 5;

var
LogoImage: TBitmapImage;

ButtonPanel: array [0..5] of TPanel;
ButtonImage: array [0..5] of TBitmapImage;
ButtonLabel: array [0..5] of TLabel;

StatusLabel, FileNameLabel, ExtractFile, StatusInfo, FinishedLabel: TLabel;
ProgressBar: TNewProgressBar;
Status: TBarInfo;
Texture2, Texture: TBitmapImage;

#include "colors.iss"
#include "isdone.iss"

//************************************************ [Начало - Кнопки] ***************************************************//

procedure ButtonLabelClick(Sender: TObject);
var
Button: TButton;
begin
ButtonImage[TLabel(Sender).Tag].Left:=0
case TLabel(Sender).Tag of
bidBack: Button:=WizardForm.BackButton;
bidNext: Button:=WizardForm.NextButton;
bidCancel: Button:=WizardForm.CancelButton;
bidDirBrowse: Button:=WizardForm.DirBrowseButton;
bidGroupBrowse: Button:=WizardForm.GroupBrowseButton;
bidCancelUnp: Button:=MyCancelButton;
else
Exit
end
Button.OnClick(Button)
end;

procedure ButtonLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if ButtonLabel[TLabel(Sender).Tag].Enabled then
ButtonImage[TLabel(Sender).Tag].Left:=-ButtonWidth
end;

procedure ButtonLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ButtonImage[TLabel(Sender).Tag].Left:=0
end;

procedure LoadButtonImage(AButton: TButton; AButtonIndex: integer);
var
Image: TBitmapImage;
Panel: TPanel;
Labl: TLabel;

begin
Panel:=TPanel.Create(WizardForm)
Panel.Left:=AButton.Left
Panel.Top:=AButton.Top
Panel.Width:=AButton.Width
Panel.Height:=AButton.Height
Panel.Tag:=AButtonIndex
Panel.Parent:=AButton.Parent
ButtonPanel[AButtonIndex]:=Panel

Image:=TBitmapImage.Create(WizardForm)
Image.Width:=160
Image.Height:=23
Image.Enabled:=False
Image.Bitmap.LoadFromFile(ExpandConstant('{tmp}\button.bmp'))
Image.Parent:=Panel
ButtonImage[AButtonIndex]:=Image

with TLabel.Create(WizardForm) do begin
Tag:=AButtonIndex
Parent:=Panel
Width:=Panel.Width
Height:=Panel.Height
Transparent:=True
OnClick:=@ButtonLabelClick
OnDblClick:=@ButtonLabelClick
OnMouseDown:=@ButtonLabelMouseDown
OnMouseUp:=@ButtonLabelMouseUp
end;

Labl:=TLabel.Create(WizardForm)
Labl.Left:=23
Labl.Top:=5
Labl.Autosize:=True
Labl.Alignment:=taCenter
Labl.Tag:=AButtonIndex
Labl.Transparent:=True
Labl.Font.Color:=clWhite
Labl.Caption:=AButton.Caption
Labl.OnClick:=@ButtonLabelClick
Labl.OnDblClick:=@ButtonLabelClick
Labl.OnMouseDown:=@ButtonLabelMouseDown
Labl.OnMouseUp:=@ButtonLabelMouseUp
Labl.Parent:=Panel
ButtonLabel[AButtonIndex]:=Labl
end;

procedure UpdateButton(AButton: TButton;AButtonIndex: integer);
begin
ButtonLabel[AButtonIndex].Caption:=AButton.Caption
ButtonPanel[AButtonIndex].Visible:=AButton.Visible
ButtonLabel[AButtonIndex].Enabled:=Abutton.Enabled
end;

procedure UpdateButtons();
begin
UpdateButton(WizardForm.BackButton,bidBack)
UpdateButton(WizardForm.NextButton,bidNext)
UpdateButton(WizardForm.CancelButton,bidCancel)
UpdateButton(MyCancelButton,bidCancelUnp)
ButtonLabel[bidBack].Left := (ButtonPanel[bidBack].Width / 2 - ButtonLabel[bidBack].Width / 2);
ButtonLabel[bidNext].Left := (ButtonPanel[bidNext].Width / 2 - ButtonLabel[bidNext].Width / 2);
ButtonLabel[bidCancel].Left := (ButtonPanel[bidCancel].Width / 2 - ButtonLabel[bidCancel].Width / 2);
ButtonLabel[bidCancelUnp].Left := (ButtonPanel[bidCancelUnp].Width / 2 - ButtonLabel[bidCancelUnp].Width / 2);
ButtonLabel[bidDirBrowse].Left := (ButtonPanel[bidDirBrowse].Width / 2 - ButtonLabel[bidDirBrowse].Width / 2);
ButtonLabel[bidGroupBrowse].Left := (ButtonPanel[bidGroupBrowse].Width / 2 - ButtonLabel[bidGroupBrowse].Width / 2);
end;

procedure ButtonTextures();
begin
WizardForm.BackButton.Width:=ButtonWidth
WizardForm.BackButton.Height:=ButtonHeight

WizardForm.NextButton.Width:=ButtonWidth
WizardForm.NextButton.Height:=ButtonHeight

WizardForm.CancelButton.Width:=ButtonWidth
WizardForm.CancelButton.Height:=ButtonHeight

WizardForm.DirBrowseButton.Left:=337
WizardForm.DirBrowseButton.Width:=ButtonWidth
WizardForm.DirBrowseButton.Height:=ButtonHeight

WizardForm.GroupBrowseButton.Left:=337
WizardForm.GroupBrowseButton.Width:=ButtonWidth
WizardForm.GroupBrowseButton.Height:=ButtonHeight

LoadButtonImage(WizardForm.BackButton,bidBack)
LoadButtonImage(WizardForm.NextButton,bidNext)
LoadButtonImage(WizardForm.CancelButton,bidCancel)
LoadButtonImage(MyCancelButton,bidCancelUnp)
LoadButtonImage(WizardForm.DirBrowseButton,bidDirBrowse)
LoadButtonImage(WizardForm.GroupBrowseButton,bidGroupBrowse)
UpdateButtons()
end;

//************************************************ [Конец - Кнопки] ***************************************************//

// *** ISDONE - НЕ ТРОГАТЬ *** //
function ISDoneProcess(): Boolean;
begin
repeat
Result:=true;
// *** ISDONE - МОЖНО ТРОГАТЬ *** //

// if not ISRarExtract ( 0, OveralPct, 0, ExpandConstant('{src}\data0.part1.rar'), ExpandConstant('{app}'), false,CallBack, '' ) then break;
if not ISArcExtract ( 0, OveralPct, 0, ExpandConstant('{src}\blah.arc'), ExpandConstant('{app}'), false,CallBack, '', '', '') then break;
// if not ISSRepExtract ( 0, OveralPct, 0, ExpandConstant('{app}\CODMW2.srep'), ExpandConstant('{app}\CODMW2.pcf'), '', true, CallBack ) then break;
// if not ISPrecompExtract( 0, OveralPct, 0, ExpandConstant('{app}\CODMW2.pcf'), ExpandConstant('{app}\CODMW2.7z'), true, CallBack ) then break;
// if not IS7ZipExtract ( 0, OveralPct, 0, ExpandConstant('{app}\CODMW2.7z'), ExpandConstant('{app}'), true, CallBack, '' ) then break;
// if not ShowChangeDiskWindow('Пожалуйста, вставьте диск 2 и дождитесь его инициализации.', ExpandConstant('{src}'),'CODMW2_Disk2.arc' ) then break;

// *** ISDONE - НЕ ТРОГАТЬ *** //
Result:=false;
until true;
StopRecord;
end;
#include "isdone_tail.iss"
// *** ISDONE - КОНЕЦ *** //

procedure InitializeWizard();
begin
ISDoneInit();
RepaintInstall();
ButtonTextures();
end;

Procedure CurPageChanged(CurPageID: Integer);
Begin
UpdateButtons();
end;

Procedure CurStepChanged(CurStep: TSetupStep);
begin
ISDoneCSC(CurStep);
end;
Заранее спасибо

marcus14

post 24-Окт-10 18:08 (спустя 4 дня)

Дайте пожалуйста ссылку на Precomp.

Текущее время: 27-Апр 08:52

Часовой пояс: GMT + 3



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы