Ru-Board.club
← Вернуться в раздел «Программы»

» ISDone.dll

Автор: MiniPyt86
Дата сообщения: 14.12.2011 19:17
У меня при установки любой запакованной игры выходит ошибка ISDone.dll.
произошла ошибка при распаковке Архив поврежден! unarc.dll вернул код ошибки: -7 error archive data corrupted (decompression fails)

система 7-ка 64 битная, ставил несколько систем, все равно выходит одна и та же ошибка!
память тестил 4 раза, ошибок нету, бук новый, недели ещё нету...
может кто подскажет, что нибудь))
Автор: alex0413
Дата сообщения: 17.01.2012 14:14
aaaaaaaa_888

Цитата:
whatch this
 
http://www.youtube.com/watch?v=OU3AQMI4Dg4

к чему это?
Автор: innonewbie
Дата сообщения: 18.01.2012 16:43
Profrager, можешь сюда залить ISDone 0.6 final, пожалуйста
Автор: r24
Дата сообщения: 04.02.2012 12:32
http://rghost.ru/35686779
Автор: innonewbie
Дата сообщения: 11.02.2012 09:33
r24 Спасибо большое!
Автор: fdfgh
Дата сообщения: 20.02.2012 10:03
Ребят,помогите пожалуйста,такая ошибка
http://firepic.org/?v=2.2012-02-20_fpjh2gu4z1vz.jpg
Автор: death7lord
Дата сообщения: 22.03.2012 17:04
Привет всем)
Раньше (этак год назад) работало со старым ISDone, сейчас что-то не могу с новым...
В китайской Инно Сетап делаю весь фон чёрным с белыми буквами
В самом проекте всё как положено, но после компиляции установщик без изменений
В существующий архив zip с помощью 7z вшиваю папку с ресурсами (с заменой совпадающих старых)
Через батник всё отлично работает
Можно ли, что бы установщик сам делал всё это? или хотя бы бат-ником, но что бы он запускался без запроса в конце установки и что бы во время работы нельзя было закрыть как его, так и сетап
И ещё.. Надо опять же запустить несколько батников, причём установка по выбору пользователя перед инсталяцией
Как их поставить в очередь один за другим?

Код: 7z a pak.zip media
rd /S /Q media
del 7z.exe
del txt.bat
Автор: perets1983
Дата сообщения: 27.04.2012 18:15
;#define records
if not ISArcExtract ( 0, 100, ExpandConstant('{src}\*.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
почему всё равно пишет "Тестовый прогон"?
Автор: Hell_Dog2011
Дата сообщения: 06.06.2012 22:50
при установки как доходит до распаковки srep выдаёт ошибку невозможно записать данные на диск возможно на нём закончилось свободное место.[more][Code]
const
PCFonFLY=true;
notPCFonFLY=false;

var
LabelPct, LabelCurrFileName, LabelStatusRollback, LabelStatus, LabelTime3: TLabel;
OveralPct, n, Cancel: integer;
CancelUnpackingBtn: HWND;
Comps1,Comps2,Comps3, TmpValue: longword;
MyError: boolean;
msgError: string;
PCFVer: double;

type
TCallback = function (OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;

TMessage = record hWnd: HWND; msg, wParam: Word; lParam: LongWord; Time: TFileTime; pt: TPoint; end;

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; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: BOOL ):BOOL; external 'ISArcExtract@files:ISDone.dll stdcall';
function IS7ZipExtract(CurComponent:longword; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; Password: AnsiString):BOOL; external 'IS7zipExtract@files:ISDone.dll stdcall';
function ISRarExtract(CurComponent:longword; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; Password: AnsiString):BOOL; external 'ISRarExtract@files:ISDone.dll stdcall';
function ISPrecompExtract(CurComponent:longword; PctOfTotal:double; InName, OutFile: AnsiString; DeleteInFile:boolean):BOOL; external 'ISPrecompExtract@files:ISDone.dll stdcall';
function ISSRepExtract(CurComponent:longword; PctOfTotal:double; InName, OutFile: AnsiString; DeleteInFile:boolean):BOOL; external 'ISSrepExtract@files:ISDone.dll stdcall';
function ShowChangeDiskWindow(Text, DefaultPath, SearchFile:AnsiString):BOOL; external 'ShowChangeDiskWindow@files:ISDone.dll stdcall';
function ISDoneInitialize(RecordFileName:AnsiString; TimeType,Comp1,Comp2,Comp3:longword; PrecompVers: double; RecursiveSubDir:boolean; WinHandle, NeededMem:longint; callback:TCallback):BOOL; external 'ISDoneInitialize@files:ISDone.dll stdcall';
function ISDoneStop:BOOL; external 'ISDoneStop@files:ISDone.dll stdcall';
function GetWindowLong(hWnd, nIndex: Integer): Longint; external 'GetWindowLongA@user32 stdcall delayload';
function SetWindowText(hWnd: Longint; lpString: AnsiString): Longint; external 'SetWindowTextA@user32 stdcall delayload';
function cm(Message: String): String; Begin Result:= ExpandConstant('{cm:'+ Message +'}') End;

Procedure SetTaskBarTitle(Title: AnsiString); var h: Integer;
begin
h:= GetWindowLong(MainForm.Handle, -8); if h <> 0 then SetWindowText(h, Title);
end;

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

function ProgressCallback(OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:PAnsiChar): longword;
var
pr: Extended;
w, w1: integer;
p: string;
begin
w:=Round(458*OveralPct/1000);
ImgSetPosition(PB3Img,120,302,w,21);
LabelCurrFileName.Caption :=ExpandConstant('{app}\')+CurrentFile;
if LabelCurrFileName.Caption<>WizardForm.FilenameLabel.Caption then
LabelCurrFileName.Caption:=MinimizePathName(LabelCurrFileName.Caption, LabelCurrFileName.Font, 560);
p :=IntToStr(OveralPct div 10)+' %.';
LabelPct.Caption :=ExpandConstant('{cm:AllProgress} ')+p+ExpandConstant(' {cm:Remains} ')+TimeStr1;
LabelTime3.Caption:=ExpandConstant('{cm:AllElapsedTime} ')+TimeStr3;
if GetTickCount-LastTimerEvent>5000{5 секунд} then begin
LastTimerEvent:= GetTickCount;
ImgSetVisibility(AImg[CurrentImage],False);
CurrentImage:=CurrentImage+1;
if CurrentImage=GetArrayLength(AImg) then CurrentImage:=0;
ImgSetVisibility(AImg[CurrentImage],True);
end;
ImgApplyChanges(WizardForm.Handle);
AppProcessMessage;
Result := Cancel;
end;

procedure CancelUnpackingOnEnter(hBtn:HWND);
begin
sndPlaySound(ExpandConstant('{tmp}\WFEnter.wav'),$0001);
end;

procedure CancelUnpackingOnClick(hBtn:HWND);
begin
if MsgBox( SetupMessage( msgExitSetupMessage ), mbConfirmation, MB_YESNO ) = IDYES then Cancel:= -1;
end;

procedure HideComponent;
begin
LabelStatusRollback.Show;
LabelPct.Hide;
LabelCurrFileName.Hide;
LabelStatus.Hide;
PageNameLabel.Hide;
PageDescriptionLabel.Hide;
ProgressInfoLabel.Hide;
StatusLabel.Hide;
ProgressInfoLabel.Hide;
FilenameLabel.Hide;
ImgSetVisibility(PBBkg1Img,False);
ImgSetVisibility(PBBkg2Img,False);
ImgSetVisibility(PB1Img,False);
ImgSetVisibility(PB2Img,False);
ImgSetVisibility(PB3Img,False);
BtnSetVisibility(CancelUnpackingBtn, False);
BtnSetVisibility(hCancelBtn, True);
ImgApplyChanges(WizardForm.Handle);
end;

procedure Error;
var n:integer;
begin
Exec(ExpandConstant('{uninstallexe}'), '/SILENT','', sw_Hide, ewWaitUntilTerminated, n);
end;

procedure CreateISDoneComponents;
begin
CancelUnpackingBtn:=BtnCreate(WizardForm.Handle,ScaleX(652),ScaleY(487),ScaleX(111),ScaleY(39),ExpandConstant('{tmp}\button.png'),18,False);
BtnSetEvent(CancelUnpackingBtn,BtnMouseEnterEventID,WrapBtnCallback(@CancelUnpackingOnEnter,1));
BtnSetEvent(CancelUnpackingBtn,BtnClickEventID,WrapBtnCallback(@CancelUnpackingOnClick,1));
BtnSetFont(CancelUnpackingBtn,WFButtonFont.Handle);
BtnSetFontColor(CancelUnpackingBtn,$DAE369,$DAE369,$DAE369,$B6B6B6);
BtnSetCursor(CancelUnpackingBtn,GetSysCursorHandle(32649));
BtnSetVisibility(CancelUnpackingBtn, False);

LabelPct := TLabel.Create(WizardForm);
with LabelPct do begin
AutoSize:=False;
SetBounds(ScaleX(80), ScaleY(355), ScaleX(638), ScaleY(19));
Alignment := taCenter;
Transparent:=True;
Font.Name:= 'Georgia'
Font.Size:= 10;
Font.Color:=$FFFFFF;
Font.Style:=[fsBold,fsItalic];
Parent := WizardForm;
end;

LabelCurrFileName := TLabel.Create(WizardForm);
with LabelCurrFileName do begin
AutoSize:=False;
SetBounds(ScaleX(119), ScaleY(270), ScaleX(560), ScaleY(17));
Transparent:=True;
Font.Name:= 'Georgia'
Font.Size:= 10;
Font.Color:=$FFFFFF;
Font.Style:=[fsBold,fsItalic];
Caption:= '';
Parent := WizardForm;
Hide;
end;

LabelStatusRollback := TLabel.Create(WizardForm);
with LabelStatusRollback do begin
Parent := WizardForm;
AutoSize := False;
SetBounds(ScaleX(120), ScaleY(245), ScaleX(400), ScaleY(17));
Transparent:=True;
Font.Name:= 'Georgia';
Font.Size:= 11;
Font.Color:=$FFFFFF;
Font.Style:=[fsBold,fsItalic];
Caption := cm('TitleBack');
end;

LabelStatus := TLabel.Create(WizardForm);
with LabelStatus do begin
Parent := WizardForm;
AutoSize := False;
SetBounds(ScaleX(120), ScaleY(245), ScaleX(400), ScaleY(17));
Transparent:=True;
Font.Name:= 'Georgia';
Font.Size:= 10;
Font.Color:=$FFFFFF;
Font.Style:=[fsBold,fsItalic];
Caption := cm('ArcTitle');
end;

LabelTime3 := TLabel.Create(WizardForm);
with LabelTime3 do begin
AutoSize:=False;
SetBounds(ScaleX(80), ScaleY(405), ScaleX(638), ScaleY(19));
Alignment := taCenter;
Transparent:=True;
Font.Name:= 'Georgia'
Font.Size:= 10;
Font.Color:=$FFFFFF;
Font.Style:=[fsBold,fsItalic];
Parent := WizardForm;
end;
end;

Procedure UnpackingISDoneFinished(CurPageID: Integer);
begin
if (CurPageID = wpFinished) and MyError then
begin
LabelTime3.Hide;
WizardForm.Caption:= ExpandConstant('{cm:ISDoneError}');
SetTaskBarTitle(SetupMessage(msgErrorTitle));
FinishedHeadingLabel.Caption:=cm('FinishedHeading1');
FinishedLabel.Caption:= msgError + ExpandConstant(' {cm:Trouble}') + #10#13#10#13+ExpandConstant('{cm:FinishedLabel2}');
SetTimer(WizardForm.Handle,WFDiskTimerID,1000,WrapTimerProc(@FinishFlashing,4));
end;
if (CurPageID = wpFinished) and (Cancel <> 0) then
begin
LabelTime3.Hide;
WizardForm.Caption:= ExpandConstant('{cm:ISDoneError1}');
SetTaskBarTitle(SetupMessage(msgErrorTitle));
FinishedHeadingLabel.Caption:=cm('FinishedHeading1');
FinishedLabel.Caption:= msgError + ExpandConstant(' {cm:Trouble}') + #10#13#10#13+ExpandConstant('{cm:FinishedLabel2}');
SetTimer(WizardForm.Handle,WFDiskTimerID,1000,WrapTimerProc(@FinishFlashing,4));
end;
end;

procedure UnpackingISDone(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then
if MyError then Error;
if CurStep = ssInstall then begin
PBBkg1Img:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\ProgressBackground.png'),119,300,460,25,True,True);
PBBkg2Img:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\ProgressBackground2.png'),581,300,98,25,True,True);
ImgApplyChanges(WizardForm.Handle);
PB3Img:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\ProgressImg.png'),120,302,458,21,True,True);
PB2Img:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\ProgressImg.png'),582,302,96,21,True,True);
PBOldProc:=SetWindowLong(WizardForm.ProgressGauge.Handle,-4,CallBackProc(@PBProc,4));
ImgSetVisibility(PB2Img,False);
LabelStatus.Show;
BtnSetText(CancelUnpackingBtn,WizardForm.CancelButton.Caption);
BtnSetVisibility(CancelUnpackingBtn, True);
BtnSetVisibility(hCancelBtn, False);
LabelPct.Show;
LabelCurrFileName.Show;
ProgressInfoLabel.Hide;
Cancel:=0;

// Распаковка всех необходимых файлов в папку {tmp}.

ExtractTemporaryFile('facompress.dll'); //ускоряет распаковку .arc архивов.
// ExtractTemporaryFile('arc.ini');
// ExtractTemporaryFile('srep.exe');

#ifdef records
ExtractTemporaryFile('records.inf');
#endif
#ifdef precomp04
ExtractTemporaryFile('packjpg_dll.dll');
ExtractTemporaryFile('RTconsole.exe');
ExtractTemporaryFile('precomp04.exe');
#endif
#ifdef precomp038
ExtractTemporaryFile('packjpg_dll.dll');
ExtractTemporaryFile('RTconsole.exe');
ExtractTemporaryFile('precomp038.exe');
ExtractTemporaryFile('zlib1.dll');
#endif
#ifdef unrar
ExtractTemporaryFile('Unrar.dll');
#endif

// Подготавливаем переменную, содержащую всю информацию о выделенных компонентах для ISDone.dll
// максимум 96 компонентов.
Comps1:=0; Comps2:=0; Comps3:=0;
#ifdef Components
TmpValue:=1;
//if IsComponentSelected('text\rus') then Comps1:=Comps1+TmpValue; //компонент 1
//if Comp1 then Comps1:=Comps1+TmpValue; //компонент 1
TmpValue:=TmpValue*2;
//if IsComponentSelected('text\rus') then Comps1:=Comps1+TmpValue; //компонент 2
if Comp2 then Comps1:=Comps1+TmpValue; //компонент 2
TmpValue:=TmpValue*2;
//if IsComponentSelected('text\eng') then Comps1:=Comps1+TmpValue; //компонент 3
if Comp3 then Comps1:=Comps1+TmpValue; //компонент 3
TmpValue:=TmpValue*2;
//if IsComponentSelected('voice\rus') then Comps1:=Comps1+TmpValue; //компонент 4
//if Comp4 then Comps1:=Comps1+TmpValue; //компонент 4
TmpValue:=TmpValue*2;
//if IsComponentSelected('voice\eng') then Comps1:=Comps1+TmpValue; //компонент 5
if Comp5 then Comps1:=Comps1+TmpValue; //компонент 5
TmpValue:=TmpValue*2;
//if IsComponentSelected('voice\eng') then Comps1:=Comps1+TmpValue; //компонент 5
if Comp6 then Comps1:=Comps1+TmpValue; //компонент 6
// .....
#endif

#ifdef precomp04
PCFVer:=0.4;
#else
#ifdef precomp038
PCFVer:=0.38;
#else
PCFVer:=0;
#endif
#endif
repeat
MyError:=true;
if not ISDoneInitialize(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, 0, false, MainForm.Handle, {#NeedMem}, @ProgressCallback) then break;
repeat

//if not ISArcExtract ( 0, 0, ExpandConstant('{src}\*.bin'), ExpandConstant('{app}'), false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;

// далее находятся закомментированые примеры различных комбинаций параметров и функций распаковки
//********bin*pc\audio\Sfx*********//
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data.bin'), ExpandConstant('{app}\pc\audio\Sfx\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data1.bin'), ExpandConstant('{app}\pc\audio\Sfx\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data2.bin'), ExpandConstant('{app}\pc\audio\Sfx\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data3.bin'), ExpandConstant('{app}\pc\audio\Sfx\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\pc\audio\Sfx\*.srep'),ExpandConstant('{app}\pc\audio\Sfx\.rcf'), true ) then break;
//************data4pc_anim**************\\
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data4.bin'), ExpandConstant('{app}\pc\anim'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\pc\anim\*.srep'),ExpandConstant('{app}\pc\anim\*.img'), true ) then break;

//************data5pc_models_cdimages**************\\
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data5.bin'), ExpandConstant('{app}\pc\models\cdimages\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\pc\models\cdimages\*.srep'),ExpandConstant('{app}\pc\models\cdimages\*.img'), true ) then break;

//************data6pc_data_maps_east**************\\
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data6.bin'), ExpandConstant('{app}\pc\data\maps\east\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\pc\data\maps\east\*.srep'),ExpandConstant('{app}\pc\data\maps\east\*.img'), true ) then break;

//************data7pc_data_cdimages**************\\
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data7.bin'), ExpandConstant('{app}\pc\data\cdimages\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\pc\data\cdimages\*.srep'),ExpandConstant('{app}\pc\data\cdimages\*.img'), true ) then break;

//************data8pc\data_maps_jersey**************\\
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data8.bin'), ExpandConstant('{app}\pc\data\maps\jersey\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\pc\data\maps\jersey\*.srep'),ExpandConstant('{app}\pc\data\maps\jersey\*.img'), true ) then break;

//************data9pc_data_maps_manhat**************\\
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data9.bin'), ExpandConstant('{app}\pc\data\maps\manhat\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data0.bin'), ExpandConstant('{app}\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data\Data01.bin'), ExpandConstant('{app}\'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\pc\data\maps\manhat\*.srep'),ExpandConstant('{app}\pc\data\maps\manhat\*.img'), true ) then break;


(*//if not ISSRepExtract( 0, 0, ExpandConstant('{app}\models\cutscene.srep'),ExpandConstant('{app}\models\cutscene.img'), true ) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\models\gta_int.srep'),ExpandConstant('{app}\models\gta_int.img'), true ) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\models\gta3.srep'),ExpandConstant('{app}\models\gta3.img'), true ) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\models\player.srep'),ExpandConstant('{app}\models\player.img'), true ) then break;

//************good**************\\
(*//if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data1.bin'), ExpandConstant('{app}\audio\SFX'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\audio\SFX\*.srep'),ExpandConstant('{app}\audio\SFX'), true ) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data2.bin'), ExpandConstant('{app}\audio\SFX'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\audio\SFX\*.srep'),ExpandConstant('{app}\audio\SFX'), true ) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data3.bin'), ExpandConstant('{app}\audio\streams'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;
if not ISSRepExtract( 0, 0, ExpandConstant('{app}\audio\streams\*.srep'),ExpandConstant('{app}\audio\streams'), true ) then break;)///

//if not ISSRepExtract( 0, 0, ExpandConstant('{app}\data.srp'),ExpandConstant('{app}\data.pcf'), true ) then break;
//if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\data.pcf'), ExpandConstant('{app}\'), true ) then break;
//if not ISArcExtract ( 0, 0, ExpandConstant('{src}\bin\data1.bin'), ExpandConstant('{app}'), false, '', '', ExpandConstant('{app}'), notPCFonFLY) then break;

//if not IS7ZipExtract ( 0, 0, ExpandConstant('{src}\data64.7z'), ExpandConstant('{app}'), false, '' ) then break;
//if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\data1.srp'), ExpandConstant('{app}\data1.pcf'), true ) then break;
//if not ISArcExtract ( 0, 0, ExpandConstant('{app}\data64.arc'), ExpandConstant('{app}\'), true, '', '', '',notPCFonFLY ) then break;
//if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\data1.pcf'), ExpandConstant('{app}'), true ) then break;
//if not IS7ZipExtract ( 0, 0, ExpandConstant('{app}\data.7z'), ExpandConstant('{app}'), true, '' ) then break;

//if not ISArcExtract ( 0, 0, ExpandConstant('{src}\bin\data2.bin'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
//if not ISSRepExtract ( 0, 0, ExpandConstant('{app}\data2.srp'), ExpandConstant('{app}\data2.pcf'), true ) then break;
//if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\data2.pcf'), ExpandConstant('{app}'), true ) then break;
//if not IS7ZipExtract ( 0, 0, ExpandConstant('{app}\data1\CODMW2.7z'), ExpandConstant('{app}\data1'), true, '' ) then break;
//if not ISArcExtract ( 0, 0, ExpandConstant('{src}\bin\data3.bin'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
//if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\data3.pcf'), ExpandConstant('{app}'), true ) then break;
//if not ISArcExtract ( 0, 0, ExpandConstant('{src}\bin\data4.bin'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;

// примеры использования компонентов и всплывающего запроса следующего диска:

//if not ShowChangeDiskWindow('Пожалуйста, вставьте диск 2 и дождитесь его инициализации.', ExpandConstant('{src}'),'CODMW2_Disk2.arc' ) then break;
//if not ISArcExtract ( 1, 0, ExpandConstant('{src}\bin\data1.bin'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
//if not ISArcExtract ( 2, 0, ExpandConstant('{src}\bin\data1.bin'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
//if not ISArcExtract ( 3, 0, ExpandConstant('{src}\bin\data4.bin'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
//if not ISArcExtract ( 4, 0, ExpandConstant('{src}\engvoice.arc'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
//if not ISArcExtract ( 5, 0, ExpandConstant('{src}\bin\data4.bin'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
(* if not ISArcExtract ( 6, 0, ExpandConstant('{src}\engvoice.arc'), ExpandConstant('{app}'), false, '', '', '', notPCFonFLY ) then break;
if not ShowChangeDiskWindow('Пожалуйста, вставьте первый диск и дождитесь его инициализации.', ExpandConstant('{src}'),'CODMW_2.arc' ) then break;

// просто различные комбинации параметров в функциях распаковки

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\sds_ru2.arc'), ExpandConstant('{app}\data1'), false, '', '', ExpandConstant('{app}\data1'), PCFonFLY) then break;
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\sds_ru.arc'), ExpandConstant('{app}\data1'), false, '', '', ExpandConstant('{app}\data1'), PCFonFLY) then break;

if not ISPrecompExtract( 0, 0, ExpandConstant('{src}\data1\*.pcf'), ExpandConstant('{src}\data1'), false) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{src}\data1\sds_ru.7z'), ExpandConstant('{src}\data1'), true, '') then break;

if not ISRarExtract ( 0, 0, ExpandConstant('{src}\data_*.rar'), ExpandConstant('{app}'), false, '' ) then break;
if not ISRarExtract ( 0, 0, ExpandConstant('{src}\*part1.rar'), ExpandConstant('{app}'), false, 'Password' ) then break;

if not IS7ZipExtract ( 0, 0, ExpandConstant('{src}\data*.7z'), ExpandConstant('{app}\data1'), false, '' ) then break;
if not IS7ZipExtract ( 0, 0, ExpandConstant('{src}\sound.7z'), ExpandConstant('{app}\data1'), false, '' ) then break;

if not ISArcExtract ( 0, 33, ExpandConstant('{src}\dataR.arc'), ExpandConstant('{app}\data1'), false, '', '', '',notPCFonFLY) then break;
if not ISArcExtract ( 0, 33, ExpandConstant('{src}\CODMW_*.arc'), ExpandConstant('{app}\data1'), false, '', '', '',notPCFonFLY) then break;
if not ISArcExtract ( 0, 34, ExpandConstant('{src}\dataR.arc'), ExpandConstant('{app}\data1\'), false, '', '', '',notPCFonFLY) then break;

if not ISPrecompExtract( 0, 0, ExpandConstant('{src}\*.pcf'), ExpandConstant('{app}\data1'), false) then break;
if not ISPrecompExtract( 0, 0, ExpandConstant('{src}\data0.pcf'), ExpandConstant('{app}\data1'), false) then break;

if not ISSRepExtract ( 0, 0, ExpandConstant('{src}\*.srep'), ExpandConstant('{app}\data1\'), false) then break;
if not ISSRepExtract ( 0, 0, ExpandConstant('{src}\data02.srep'), ExpandConstant('{app}\data1\data.pcf'), false) then break;
*)
MyError:=false;
until true;
ISDoneStop;
until true;
BtnSetVisibility(CancelUnpackingBtn, False);
BtnSetVisibility(hCancelBtn, True);
BtnSetEnabled(hCancelBtn, False);
ImgSetVisibility(PB2Img,True);
LabelStatus.Hide;
LabelPct.Hide;
LabelCurrFileName.Hide;
ProgressInfoLabel.Show;
if (Cancel <> 0) or MyError then HideComponent;
end;
end;[/more]

Добавлено:
fdfgh
Пришлите пожалуйста код скрипта.

Добавлено:
Возможно просто вы не указали правельный путь от куда брать архивы.

Добавлено:
perets1983
файл records.ini положите рядом с установщиком и раскоментируйте секцию с records
Автор: marineharrison
Дата сообщения: 17.07.2012 20:10
Доброго времени суток. Просьба помочь в следующем...

К примеру я упаковал игру в 2 архива 7z. По 4,3 ГБ каждый, чтоб на 2 DVD вместить. Каким образом мне сделать так, чтоб inno setup сначала распаковывал 1 архив с 1 диска, потом просил вставить 2 диск и распаковывал с него 2 архив. И чтобы это отображалось в прогрессбаре, потому что это необходимо для попроцентного слайдшоу в инсталлере.

is7z.dll просьба не рекомендовать, с ним какой-то глюк, распаковывает все, но только от файлов одни названия и каждый весит 0 КБ. Такое чувство что dll для старой версии архиватора и с новой некорректно работает.
Автор: 100514
Дата сообщения: 06.08.2012 12:11
люди ну скажите пожалуйста как установить на 64 бит???????
Автор: dixen18
Дата сообщения: 12.08.2012 22:18
как решить проблему с ISDone? Замучила ошибка "Не найдено ни одного файла указанного для ISPRECOMPEXTRACT". Все прописано без ошибок...что делать то?
Автор: assembler
Дата сообщения: 06.09.2012 11:43
Profrager

Подскажите пожалуйста, у меня вот такая проблема:

Компоненты выбора таблетки,языков в тестовом режиме распаковываются и все содается, а в нормальном режиме не распаковывается, вообще... и при тестовой и обычной распаковке дорожка прогресс бара доходит до 75% и стоит а процесс распаковки продолжается...

Вот скрипт и исдан(скрипт):


http://rghost.ru/40213554
Автор: Dagar
Дата сообщения: 10.09.2012 16:38
Ребят всем привет, кто нибудь может подсказать как правильно в ISDone прописать подключение диска 2 чтоб инсталятор не выдавал ошибку, потому как при монтировании образа (диска 2) инсталятор прекращает работу.


if not ISArcExtract ( 0, 0, ExpandConstant('{src}\data.bin'), ExpandConstant('{app}\'), '', false, 'Dagar', '', ExpandConstant('{app}\'), PCFonFLY {PCFonFLY}) then break;
if not ShowChangeDiskWindow('Пожалуйста, вставьте диск 2 и дождитесь его инициализации.', ExpandConstant('{src}'),'data1.bin' ) then break;


Диск 1
setup.exe
data.bin
setup-1a.bin
ico.ico
autorun.inf

Диск 2
data1.bin


что еще не хватает- не могу понять, заранее спасибо...

Need for Speed™ Undercover.iss v 2.4c [Final]

http://forum.ru-board.com/topic.cgi?forum=5&topic=36421&start=0&limit=1&m=6

скрипт этот



Или может быть - причина не здесь а в другом: к примеру как заставить инсталятор свои файлы (InstallFiles) закинуть в папку раньше игровых файлов- дабы была поддержка инсталятора.
Автор: Dlartem
Дата сообщения: 13.09.2012 21:56
Люди я нигде не могу найти TestISDone0.5h, помогите.

Добавлено:
Проблему решил у кого стоит эта шняга "Hamster Free Archver" надо уметь пользоваться решил проблему, разархировал то что скачал вкл setup.exe, потом делаете путь, клацаем установить и вуаля, установка начнется.
Автор: Mudak3030
Дата сообщения: 22.10.2012 16:06
рЕБЯТ КАК ПОЛЬЗОВАТЬСЯ ЕЮ Я НИХЕРА НЕ ДОГОНЯЮ ПОМОГИТЕ ПЛИЗЗЗ!!!
Автор: andreirakushev
Дата сообщения: 03.02.2013 09:39
Люди подскажите ппжжллсстт, скачал по торренту dead space, нажимаю установку сначала всё норм, но потом как я нажимаю на установить высвечивается ошибка: Не верно задан входной файл ISArcExtract, что делать, ток подскажите пжлст подробно и понятно ато я в этом не то, там что куда писать или там кудато скапировать, подкажите пжлст что зря ждал пол дня скачивания, жду ответа)))
Автор: DmC2001
Дата сообщения: 06.01.2014 13:15
А ЧТо ДеЛать Я Не ПОнеЛ ОбесНитЕ
Автор: ERYHWERH
Дата сообщения: 18.04.2014 17:06
Подскажите как в ISDone правильно указать пароль архива FreeArc ? Делаю как показанно в инструкции но во время распаковки вылетает ошибка:
Произошла ошибка при распаковке: Неверный пароль!
Unarc.dll вернул код ошибки: -13
ERROR: wrong password
Пароль указал тот же что и при архивации.
Пример:
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\Data-1.arc'), ExpandConstant('{app}\'), '', false, '1234', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
Автор: sflashg
Дата сообщения: 21.08.2014 13:58
такая же проблема Unarc dll выдает ошибку -7 (для WIN7x32/x64)

а в ХР - все отлично ставится
Автор: Garetred
Дата сообщения: 23.02.2015 17:26
Народ сам заеб@лся с Isdone.dll isarextract .Надо переименовать папку где лежит не установленная игра Пример :Компьютер \диск C\Торренты\Подпапка какая нибудь\TotalWar3.(\Торренты\Подпапка какая нибудь) -- вот эти переименовать на ингиш .спс вот этому чуваку volkaleks74 .
Автор: Alik044
Дата сообщения: 08.03.2015 16:48
Здравствуйте! Скажите пожалуйста, может кто-то уже делал объединение в Inno setup библиотеки isSlideShow для показа слайд-шоу в зависимости от процента распаковки и Idone распаковки архивов 7z+precomp. Как это можно организовать, чтобы прогрессбар корректно отображался и равномерно отображалось слайд-шоу?
Автор: CADiLO
Дата сообщения: 26.01.2016 13:40
>>>такая же проблема Unarc dll выдает ошибку -7 (для WIN7x32/x64)

Проблема репаков. И кривого софта которыми их пакуют.
А потом отсылают проверять память, делать дефраг, перекачивать репаки и прочую х...ню.

Тестируем.

За железо могу ручаться - есть возможность экспериментировать с разной памятью, видео и процами. Не могут полдесятка комплектов памяти разных производителей быть битыми. Виндовс семерка х64 - лицензия, английская, русских букв в путях и именах не наблюдается.
Ставим голую систему.

Репаки

Witcher 3
Fallout 4
HOMM7
FarCry

Каждой игры скачано по 2 инсталяшки - от Механиков и Каталиста.
Хеши перепроверены.

НИ ОДНА НЕ УСТАНОВИЛАСЬ. Вылетают с седьмой ошибкой в разных местах.

При этом скачал ведьмака который был репаком но не зажат до невозможности - подряд 4 раза инсталю - никаких проблем.

ВЫВОД: прибил бы за такие упаковщики/распаковщики.
Автор: Pasha_ZZZ
Дата сообщения: 27.01.2016 16:27
CADiLO
Цитата:
Не могут полдесятка комплектов памяти разных производителей быть битыми
зато контроллеры памяти и мамки могут
Автор: CADiLO
Дата сообщения: 29.01.2016 09:55

Цитата:
зато контроллеры памяти и мамки могут


Ага - в трех конфигурациях сразу.
Не мелите чепуху - то что кому-то помогают перестановки планок, дефраги и прочая фигня - это случайности. А пока все эти советы из разряда "помощи от микрософт" набор стандартных советов - а вдруг поможет, а потом отмораживание и нежелание разобраться в проблеме.
Единый рецепт лечения проблемы будет когда наконец кто-то озаботится протрассировать весь процесс распаковки и выявит конкретную причину.
Автор: Falkrum
Дата сообщения: 18.02.2016 09:32
а куда кидать библиотеку isdone.dll?

Страницы: 12345678910111213141516171819202122

Предыдущая тема: ARM Zvit ошибка!


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.