Не могу распаковать

Privetiki

Новичок
Добрый день
Никак не могу нормально в установщик поставить распаковку

Чем пакую:
Код:
arc.exe a -ep1 -r -ed -s; -w.\temp -mpzlib+srep+lzma2 "data.arc" "pack\*"
pause
Код:
[Files]
Source: ISDone\English.ini; DestDir: {tmp}; Flags: dontcopy
Source: ISDone\Russian.ini; DestDir: {tmp}; Flags: dontcopy
Source: ISDone\ISDone.dll; DestDir: {tmp}; Flags: dontcopy
Source: ISDone\unarc.dll; DestDir: {tmp}; Flags: dontcopy
#ifdef records
Source: records.inf; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef pZLib
Source: IsDone\hif2raw_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\raw2hif_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\pZLib.exe; DestDir: {tmp}; Flags: dontcopy
#endif
 #ifdef PrecompInside
Source: ISDone\CLS-precomp.dll; DestDir: {tmp}; Flags: dontcopy
Source: ISDone\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: ISDone\packjpg_dll1.dll; DestDir: {tmp}; Flags: dontcopy
Source: ISDone\precomp.exe; DestDir: {tmp}; Flags: dontcopy
Source: ISDone\zlib1.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef SrepInside
Source: ISDone\CLS-srep.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef MSCInside
Source: ISDone\CLS-MSC.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef facompress
Source: ISDone\facompress.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef precomp
Source: ISDone\precomp042.exe; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef unrar
Source: ISDone\Unrar.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef XDelta
Source: IsDone\XDelta3.dll; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef PackZIP
Source: ISDone\7z.dll; DestDir: {tmp}; Flags: dontcopy
Source: ISDone\packZIP.exe; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef xtool
Source: IsDone\xtool.exe; DestDir: {tmp}; Flags: dontcopy
#endif

Source: IsDone\ztool\lzma2.exe; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\ZTool.exe; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\zlibwapi.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\raw2hif_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\lzo2.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\libzstd.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\liblz4.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\hif2raw_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\arc.ini; DestDir: {tmp}; Flags: dontcopy

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

var
  ISDoneError: boolean;
  ISDoneCancel: Integer;
  ISDoneProgressBar1, ISDoneProgressBar2: TImgPB;
  PercentLabel1, PercentLabel2, CurFileNameLabel, ElapsedTimeLabel, RemainingTimeLabel, AllElapsedTimeLabel: Tlabel;

function WrapCallback(callback:TCallback; paramcount:integer):longword;
  external 'wrapcallback@files:ISDone.dll stdcall delayload';

function ISArcExtract(CurComponent:Cardinal; PctOfTotal:double; InName, OutPath, ExtractedPath: AnsiString; DeleteInFile:boolean; Password, CfgFile, WorkPath: AnsiString; ExtractPCF: boolean ):boolean;
  external 'ISArcExtract@files:ISDone.dll stdcall delayload';
function IS7ZipExtract(CurComponent:Cardinal; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; Password: AnsiString):boolean;
  external 'IS7zipExtract@files:ISDone.dll stdcall delayload';
function ISRarExtract(CurComponent:Cardinal; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; Password: AnsiString):boolean;
  external 'ISRarExtract@files:ISDone.dll stdcall delayload';
function ISPrecompExtract(CurComponent:Cardinal; PctOfTotal:double; InName, OutFile: AnsiString; DeleteInFile:boolean):boolean;
  external 'ISPrecompExtract@files:ISDone.dll stdcall delayload';
function ISSRepExtract(CurComponent:Cardinal; PctOfTotal:double; InName, OutFile: AnsiString; DeleteInFile:boolean):boolean;
  external 'ISSrepExtract@files:ISDone.dll stdcall delayload';
function ISxDeltaExtract(CurComponent:Cardinal; PctOfTotal:double; minRAM,maxRAM:integer; InName, DiffFile, OutFile: AnsiString; DeleteInFile, DeleteDiffFile:boolean):boolean;
  external 'ISxDeltaExtract@files:ISDone.dll stdcall delayload';
function ISPackZIP(CurComponent:Cardinal; PctOfTotal:double; InName, OutFile: AnsiString;ComprLvl:integer; DeleteInFile:boolean):boolean;
  external 'ISPackZIP@files:ISDone.dll stdcall delayload';
function ShowChangeDiskWindow(Text, DefaultPath, SearchFile:AnsiString):boolean;
  external 'ShowChangeDiskWindow@files:ISDone.dll stdcall delayload';

function Exec2 (FileName, Param: PAnsiChar;Show:boolean):boolean;
  external 'Exec2@files:ISDone.dll stdcall delayload';
function ISFindFiles(CurComponent:Cardinal; FileMask:AnsiString; var ColFiles:integer):integer;
  external 'ISFindFiles@files:ISDone.dll stdcall delayload';
function ISPickFilename(FindHandle:integer; OutPath:AnsiString; var CurIndex:integer; DeleteInFile:boolean):boolean;
  external 'ISPickFilename@files:ISDone.dll stdcall delayload';
function ISGetName(TypeStr:integer):PAnsichar;
  external 'ISGetName@files:ISDone.dll stdcall delayload';
function ISFindFree(FindHandle:integer):boolean;
  external 'ISFindFree@files:ISDone.dll stdcall delayload';
function ISExec(CurComponent:Cardinal; PctOfTotal,SpecifiedProcessTime:double; ExeName,Parameters,TargetDir,OutputStr:AnsiString;Show:boolean):boolean;
  external 'ISExec@files:ISDone.dll stdcall delayload';

function SrepInit(TmpPath:PAnsiChar;VirtMem,MaxSave:Cardinal):boolean;
  external 'SrepInit@files:ISDone.dll stdcall delayload';
function PrecompInit(TmpPath:PAnsiChar;VirtMem:cardinal;PrecompVers:single):boolean;
  external 'PrecompInit@files:ISDone.dll stdcall delayload';
function FileSearchInit(RecursiveSubDir:boolean):boolean;
  external 'FileSearchInit@files:ISDone.dll stdcall delayload';
function ISDoneInit(RecordFileName:AnsiString; TimeType,Comp1,Comp2,Comp3:Cardinal; WinHandle, NeededMem:longint; callback:TCallback):boolean;
  external 'ISDoneInit@files:ISDone.dll stdcall';
function ISDoneStop:boolean;
  external 'ISDoneStop@files:ISDone.dll stdcall';
function ChangeLanguage(Language:AnsiString):boolean;
  external 'ChangeLanguage@files:ISDone.dll stdcall delayload';
function SuspendProc:boolean;
  external 'SuspendProc@files:ISDone.dll stdcall';
function ResumeProc:boolean;
  external 'ResumeProc@files:ISDone.dll stdcall';

function ProgressCallback(OveralPct, CurrentPct: integer; CurrentFile, TimeStr1, TimeStr2, TimeStr3: PAnsiChar): longword; 
begin                                                                                                                     
  if OveralPct<=1000 then ImgPBSetPosition(ISDoneProgressBar1, OveralPct);                                                       
  PercentLabel1.Caption      := IntToStr(OveralPct div 10) + '.'+chr(48 + OveralPct mod 10) + '%';                         
  if CurrentPct<=1000 then ImgPBSetPosition(ISDoneProgressBar2, CurrentPct);
  PercentLabel2.Caption      := IntToStr(OveralPct div 10) + '.'+chr(48 + OveralPct mod 10) + '%';
  CurFileNameLabel.Caption   := ExpandConstant('{app}\') + CurrentFile;                                                   
  ElapsedTimeLabel.Caption   := ExpandConstant('{cm:ElapsedTime} ') + TimeStr2;                                           
  RemainingTimeLabel.Caption := ExpandConstant('{cm:RemainingTime} ') + TimeStr1;                                         
  AllElapsedTimeLabel.Caption:= ExpandConstant('{cm:AllElapsedTime} ') +TimeStr3;                                         
  Result:= ISDoneCancel;                                                                                                   
  ImgApplyChanges(WizardForm.Handle);
end;

procedure CancelButtonOnClick(Sender: TObject);
begin
  SuspendProc;
  if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then ISDoneCancel:=1;
  ResumeProc;
end;

procedure IsDoneAddComponents();
begin
  ISDoneProgressBar1:= ImgPBCreate(WizardForm.Handle, 'ProgressBarImgBack.png', 'ProgressBarImg.png', ScaleX(290), ScaleY(190), ScaleX(402), ScaleY(22));
  ISDoneProgressBar2:= ImgPBCreate(WizardForm.Handle, 'ProgressBarImgBack2.png', 'ProgressBarImg2.png', ScaleX(290), ScaleY(270), ScaleX(402), ScaleY(22));

  CurFileNameLabel:= TLabel.Create(WizardForm);
  with CurFileNameLabel do begin
    SetBounds(ScaleX(290), ScaleY(170), ScaleX(399), ScaleY(20));
    AutoSize   := False;
    Parent     := WizardForm;
    Transparent:= True;
    Font.Size  := 9;
    Font.Color := $555555;
    Font.Style := [];
  end;

 PercentLabel1:= TLabel.Create(WizardForm);
  with PercentLabel1 do begin
    SetBounds(ScaleX(735), ScaleY(192), ScaleX(60), ScaleY(20));
    AutoSize   := False;
    Parent     := WizardForm;
    Transparent:= True;
    Font.Size  := 10;
    Font.Style := [fsBold];
    Font.Color := $282828;
  end;

 PercentLabel2:= TLabel.Create(WizardForm);
  with PercentLabel2 do begin
    SetBounds(ScaleX(735), ScaleY(272), ScaleX(60), ScaleY(20));
    AutoSize   := False;
    Parent     := WizardForm;
    Transparent:= True;
    Font.Size  := 10;
    Font.Style := [fsBold];
    Font.Color := $282828;
  end;

  ElapsedTimeLabel:= TLabel.Create(WizardForm);
  with ElapsedTimeLabel do begin
    SetBounds(ScaleX(290), ScaleY(385), ScaleX(300), ScaleY(20));
    AutoSize   := False;
    Parent     := WizardForm;
    Transparent:= True;
    Font.Size  := 9;
    Font.Color := $555555;
    Font.Style := [];
  end;

  RemainingTimeLabel:= TLabel.Create(WizardForm);
  with RemainingTimeLabel do begin
    SetBounds(ScaleX(290), ScaleY(412), ScaleX(300), ScaleY(20));
    AutoSize   := False;
    Parent     := WizardForm;
    Transparent:= True;
    Font.Size  := 9;
    Font.Color := $555555;
    Font.Style := [];
  end;

  AllElapsedTimeLabel:= TLabel.Create(WizardForm);
  with AllElapsedTimeLabel do begin
    SetBounds(ScaleX(290), ScaleY(412), ScaleX(300), ScaleY(20));
    AutoSize   := False;
    Parent     := WizardForm;
    Transparent:= True;
    Font.Size  := 9;
    Font.Color := $555555;
    Font.Style := [];
  end;
end;

procedure IsDoneHide();
begin
  CurFileNameLabel.Hide;
  PercentLabel1.Hide;
  PercentLabel2.Hide;
  ElapsedTimeLabel.Hide;
  RemainingTimeLabel.Hide;
  AllElapsedTimeLabel.Hide;
  ImgPBVisibility(ISDoneProgressBar1, False);
  ImgPBVisibility(ISDoneProgressBar2, False);
end;

procedure IsDoneShow();
begin
  CurFileNameLabel.Show;
  PercentLabel1.Show;
  PercentLabel2.Show;
  ElapsedTimeLabel.Show;
  RemainingTimeLabel.Show;
  ImgPBVisibility(ISDoneProgressBar1, True);
  ImgPBVisibility(ISDoneProgressBar2, True);
end;

procedure IsDoneUnpack(CurStep: TSetupStep);
begin
  if CurStep = ssInstall then begin
    WizardForm.CancelButton.OnClick:= @CancelButtonOnClick;
    ISDoneCancel:= 0;
    ExtractTemporaryFile('unarc.dll');
    ExtractTemporaryFile('Russian.ini');
    ExtractTemporaryFile('English.ini');
    ExtractTemporaryFile('lzma2.exe');
    ExtractTemporaryFile('ZTool.exe');
    ExtractTemporaryFile('zlibwapi.dll');
    ExtractTemporaryFile('raw2hif_dll.dll');
    ExtractTemporaryFile('lzo2.dll');
    ExtractTemporaryFile('libzstd.dll');
    ExtractTemporaryFile('liblz4.dll');
    ExtractTemporaryFile('hif2raw_dll.dll');
    ExtractTemporaryFile('arc.ini')
#ifdef facompress
    ExtractTemporaryFile('facompress.dll');
#endif
#ifdef PrecompInside
    ExtractTemporaryFile('CLS-precomp.dll');
    ExtractTemporaryFile('packjpg_dll.dll');
    ExtractTemporaryFile('packjpg_dll1.dll');
    ExtractTemporaryFile('precomp.exe');
    ExtractTemporaryFile('zlib1.dll');
#endif
#ifdef SrepInside
    ExtractTemporaryFile('CLS-srep.dll');
#endif
#ifdef MSCInside
    ExtractTemporaryFile('CLS-MSC.dll');
#endif
#ifdef records
    ExtractTemporaryFile('records.inf');
#endif
#ifdef precomp
    ExtractTemporaryFile('precomp042.exe');
#endif
#ifdef unrar
    ExtractTemporaryFile('Unrar.dll');
#endif
 #ifdef xtool
 // ExtractTemporaryFile('hif2raw_dll.dll');
//  ExtractTemporaryFile('raw2hif_dll.dll');
  ExtractTemporaryFile('xtool.exe');
 // ExtractTemporaryFile('arc.ini')
  SaveStringToFile(ExpandConstant('{tmp}\arc.ini'), '[External compressor:xprecomp]'+#13#10+'header    = 0'+#13#10+'unpackcmd = xtool.exe d:precomp:t4 - - <stdin> <stdout>'+#13#10+''+#13#10+'[External compressor:srep]'+#13#10+';options  = l%d (minimal match length, default=512)'+#13#10+'header = 0'+#13#10+'unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp', True);
  Exec2(ExpandConstant('{sys}\cmd.exe'), 'параметры', False);
  #endif
#ifdef pZLib
  ExtractTemporaryFile('hif2raw_dll.dll');
  ExtractTemporaryFile('raw2hif_dll.dll');
  ExtractTemporaryFile('pZLib.exe');
 // ExtractTemporaryFile('arc.ini')
  SaveStringToFile(ExpandConstant('{tmp}\arc.ini'), '[External compressor:pzlib]'+#13#10+'header    = 0'+#13#10+'unpackcmd = pZLib d -t90p - -o - <stdin> <stdout>'+#13#10+''+#13#10+'[External compressor:srep]'+#13#10+';options  = l%d (minimal match length, default=512)'+#13#10+'header = 0'+#13#10+'unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp', True);
#endif
#ifdef PackZIP
    ExtractTemporaryFile('7z.dll');
    ExtractTemporaryFile('PackZIP.exe');
#endif
    ISDoneError:= True;
    if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, 0, 0, 0, 0, {#NeedMem}, @ProgressCallback) then begin
      repeat
        ChangeLanguage(ActiveLanguage);
        if not SrepInit(ExpandConstant('{app}\'), 256, 0) then break;
        if not PrecompInit(ExpandConstant('{app}\'), 256, 0) then break;
        if not FileSearchInit(True) then break;

        if not ISArcExtract ( 0, 100, ExpandConstant('{src}\install-1.bin'), ExpandConstant('{app}'), '', false, , '', ExpandConstant('{app}'), False) then break;
(*
        if not ISArcExtract    ( 0, 0, ExpandConstant('{src}\arc.arc'), ExpandConstant('{app}\'), '', False, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
        if not IS7ZipExtract   ( 0, 0, ExpandConstant('{src}\CODMW2.7z'), ExpandConstant('{app}\data1'), False, '') then break;
        if not ISRarExtract    ( 0, 0, ExpandConstant('{src}\data_*.rar'), ExpandConstant('{app}'), False, '') then break;
        if not ISSRepExtract   ( 0, 0, ExpandConstant('{app}\data1024_1024.srep'),ExpandConstant('{app}\data1024.arc'), True) then break;
        if not ISPrecompExtract( 0, 0, ExpandConstant('{app}\data.pcf'),    ExpandConstant('{app}\data.7z'), True) then break;
        if not ISxDeltaExtract ( 0, 0, 0, 640, ExpandConstant('{app}\in.pcf'), ExpandConstant('{app}\*.diff'),   ExpandConstant('{app}\out.dat'), False, False) then break;
        if not ISPackZIP       ( 0, 0, ExpandConstant('{app}\1a1\*'), ExpandConstant('{app}\1a1.pak'), 2, False ) then break;
        if not ISExec          ( 0, 0, 0, ExpandConstant('{tmp}\Arc.exe'), ExpandConstant('x -o+ "{src}\001.arc" "{app}\"'), ExpandConstant('{tmp}'), '...',False) then break;
        if not ShowChangeDiskWindow ('Пожалуйста, вставьте второй диск и дождитесь его инициализации.', ExpandConstant('{src}'),'CODMW_2.arc') then break;
*)
        ISDoneError:= False;
      until True;
      ISDoneStop;
    end;
  end;
  if (CurStep = ssPostInstall) and ISDoneError then begin
    IsDoneHide;
    BtnSetEnabled(CloseButton, False);
    PageFinishedLabel.Enabled:= False;
    PageNameLabel.Caption:= ExpandConstant('{cm:RollBack}');
    ImgApplyChanges(WizardForm.Handle);
    Exec2(ExpandConstant('{uninstallexe}'), '/VERYSILENT', False);
  end;
end;

function CheckError: boolean;
begin
  Result:= not ISDoneError;
#ifdef Soft
  if Result and InstallSoft then
    CurFileNameLabel.Caption:= ExpandConstant('{cm:SoftwareInstalling}');
#endif
end;
Файлы всё в временную папку попадают но почему-то выбивает еррор

upload_2018-8-18_21-22-47.png
 

sergey3695

Ветеран
Модератор
Код:
        if not ISArcExtract    ( 0, 0, ExpandConstant('{src}\install-1.bin'), ExpandConstant('{app}\'), '', False, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
 

vint56

Ветеран
Проверенный
Privetiki, посмотри содержимое arc.ini и напиши установшика на момент распаковки
 

Privetiki

Новичок
arc.ini:

Код:
[External compressor:xprecomp]
header = 0
unpackcmd = xtool.exe d:precomp:t4 - - <stdin> <stdout>

[External compressor:srep]
;options = l%d (minimal match length, default=512)
header = 0
unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

[External compressor:lzma2]
header = 0
unpackcmd = lzma2 x -txz -an -y -si -so <stdin> <stdout>

А это уже то что распаковываеться во время установки:
Код:
[External compressor:xprecomp]
header = 0
unpackcmd = xtool.exe d:precomp:t4 - - <stdin> <stdout>

[External compressor:srep]
;options = l%d (minimal match length, default=512)
header = 0
unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

[External compressor:lzma2]
header = 0
unpackcmd = lzma2 x -txz -an -y -si -so <stdin> <stdout>
[External compressor:xprecomp]
header    = 0
unpackcmd = xtool.exe d:precomp:t4 - - <stdin> <stdout>

[External compressor:srep]
;options  = l%d (minimal match length, default=512)
header = 0
unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp[External compressor:pzlib]
header    = 0
unpackcmd = pZLib d -t90p - -o - <stdin> <stdout>

[External compressor:srep]
;options  = l%d (minimal match length, default=512)
header = 0
unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp
 

vint56

Ветеран
Проверенный
Privetiki, у тебя строчка для распаковки какая
if not ISArcExtract ( 0, 100, ExpandConstant('{src}\install-1.bin'), ExpandConstant('{app}'), '', false, , '', ExpandConstant('{app}'), False) then break;
или
if not ISArcExtract ( 0, 0, ExpandConstant('{src}\install-1.bin'), ExpandConstant('{app}\'), '', False, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
 

vint56

Ветеран
Проверенный
конечно работать не будет как он будет распаковывать внешние {tmp}\arc.ini'),

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\install-1.bin'), ExpandConstant('{app}\'), '', False, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
 

Privetiki

Новичок
конечно работать не будет как он будет распаковывать внешние {tmp}\arc.ini'),

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\install-1.bin'), ExpandConstant('{app}\'), '', False, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
Сделал,но всеравно ошибку бьет (

Код:
if not ISArcExtract ( 0, 100, ExpandConstant('{src}\install-1.bin'), ExpandConstant('{app}'), '', false, '*****', '', ExpandConstant('{tmp}\arc.ini'),False) then break;
Сейчас вот так
 
Последнее редактирование:

dixen18

Ветеран
Privetiki, А если внимательно посмотреть? На строчку) Лишнее не находите?
unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp[External compressor:pzlib]

По-моему просто забыли перенести выделенное на новую строку
 

Privetiki

Новичок
Privetiki, А если внимательно посмотреть? На строчку) Лишнее не находите?
unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp[External compressor:pzlib]

По-моему просто забыли перенести выделенное на новую строку
Код:
[External compressor:xprecomp]
header = 0
unpackcmd = xtool.exe d:precomp:t4 - - <stdin> <stdout>

[External compressor:srep]
;options = l%d (minimal match length, default=512)
header = 0
unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

[External compressor:lzma2]
header = 0
unpackcmd = lzma2 x -txz -an -y -si -so <stdin> <stdout>
[External compressor:pzlib]
header    = 0
unpackcmd = pZLib d -t90p - -o - <stdin> <stdout>

[External compressor:srep]
;options  = l%d (minimal match length, default=512)
header = 0
unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

[External compressor:xprecomp]
header    = 0
unpackcmd = xtool.exe d:precomp:t4 - - <stdin> <stdout>

[External compressor:srep]
;options  = l%d (minimal match length, default=512)
header = 0
unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp
Сейчас Арк.ини так выглядит,но всеравно та-же ошибка
 

dixen18

Ветеран
Privetiki, А почему у вас отсутствует распаковщик lzma2? В окне с ошибкой он указан но ни в скрипте ни в arc.ini он не упоминается
 

sergey3695

Ветеран
Модератор
неужели так сложно прописать распаковку через батник, прогнать данный метод на мелком файле, а уж потом паковать большой и совать в установщик?
Код:
unarc x -o+  -w.\ -dp_TEST data.arc
я не думаю, что скинутый скрипт решит проблему. как вариант, запакуй мелкий файл данным методом и скинь сюда.
 

dixen18

Ветеран
sergey3695, Думаю одна из причин - отсутствие в скрипте lzma2..Судя по ошибке он там должен быть
 
Сверху