1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

Распаковка архива методом PZlib+Srep+Lzma

Тема в разделе "Алгоритмы сжатия", создана пользователем Ray Kazumi, 29 ноя 2016.

  1. Новичок

    Регистрация:
    28 сен 2017
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Здраствуйте. у меня вопрос по поводу этого unarc и isdone (unarc.dll isdone.dll)вернул код ошибки 1,6,7,12,14 и т.д
    .недавно попалась ошибка при установке игр. (ранее эта ошибка вообще не встречалась) .получается что все новые игры запакованы в pZlib .хотелось бы посоветоваться как эту ошибку избежать при установке игр.переустановка всевозможных архиваторов не решило проблему.
     
    Последнее редактирование: 5 окт 2017
  2. Ветеран

    Регистрация:
    18 сен 2014
    Сообщения:
    341
    Симпатии:
    41
    Пол:
    Мужской
    k0803833,
    Доброго дня.
    А какая ошибка то?) Нам надо угадать?
     
  3. Ветеран

    Регистрация:
    18 сен 2014
    Сообщения:
    341
    Симпатии:
    41
    Пол:
    Мужской
    k0803833, Легче не стало..Хотя бы скриншот покажите
     
  4. Ветеран

    Регистрация:
    18 сен 2014
    Сообщения:
    341
    Симпатии:
    41
    Пол:
    Мужской
    k0803833,
    Вы конкретно напишите код ошибки если хотите чтоб вам помогли...Нет - сами ""üse google""
     
  5. Ветеран Модератор

    Регистрация:
    11 июн 2012
    Сообщения:
    432
    Симпатии:
    160
    Пол:
    Мужской
    k0803833, скриншот давай, и не груби людям которые пытаются помочь
     
  6. Ветеран

    Регистрация:
    18 сен 2014
    Сообщения:
    341
    Симпатии:
    41
    Пол:
    Мужской
    k0803833, Уважаемый вы вообще в теме или нет? Вы в курсе что у ISDONE есть много ошибок и они нумеруются цифрами? Читайте справку по теме и гонор свой умерьте
     
    Nemko нравится это.
  7. Ветеран

    Регистрация:
    18 сен 2014
    Сообщения:
    341
    Симпатии:
    41
    Пол:
    Мужской
    k0803833, Ничего там не написано..Вы даже имя библиотеки с ошибкой написали...Не будет конкретных скриншотов - не будет помощи..Или вы так потроллить сюда пришли?
    Специально для Вас - http://nastroisam.ru/unarc-dll-isdone/
    ЗЫ. Открою вам маленькую тайну - для установки игр-репаков никаких архиваторов ставить не нужно) Все необходимое уже присутствует в файле setup.exe
     
    Последнее редактирование: 5 окт 2017
    Булат Зиганшин нравится это.
  8. Ветеран

    Регистрация:
    13 фев 2012
    Сообщения:
    268
    Симпатии:
    111
    Всем привет. Такая проблема. Сделал все так, как написано тут. Все запаковывается и распаковывается хорошо. Но, когда нажимаешь отмену - потом на "нет" (чтобы продолжить установку выскакивает ошибка.)



    код

    Код (Text):

    var  
       ErrorCode: integer;

    .....

    procedure CancelBtnClick(hBtn:HWND);
    begin
      SuspendProc;
      SetTaskBarProgressState(TBPF_PAUSED);
      if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then ISDoneCancel:=1;
        #ifdef PZLIB
        Exec(ExpandConstant('{sys}\taskkill.exe'), ' /F /IM pZLib.exe', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
        #endif
      SetTaskBarProgressState(TBPF_NORMAL);
      ResumeProc;
    end;

    .....

    if (CurStep=ssPostInstall) and ISDoneError then begin
        ISDoneHide;
        SetTaskBarProgressState(TBPF_NOPROGRESS);
        #ifdef PZLIB
          Exec(ExpandConstant('{sys}\taskkill.exe'), ' /F /IM pZLib.exe', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
        #endif
        Exec2(ExpandConstant('{uninstallexe}'), '/SILENT', false);
      end;
     
     
  9. Ветеран

    Регистрация:
    13 авг 2011
    Сообщения:
    99
    Симпатии:
    36
    Код (Text):
    procedure CancelBtnClick(hBtn:HWND);
    begin
      SuspendProc;
      SetTaskBarProgressState(TBPF_PAUSED);
      if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then
    begin
    ISDoneCancel:=1;
        #ifdef PZLIB
        Exec(ExpandConstant('{sys}\taskkill.exe'), ' /F /IM pZLib.exe', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
        #endif
    end;
      SetTaskBarProgressState(TBPF_NORMAL);
      ResumeProc;
    end;
     
    agent555 и Adil нравится это.
  10. Ветеран

    Регистрация:
    13 фев 2012
    Сообщения:
    268
    Симпатии:
    111
    PUNISHER, работает, спасибо :drinks:
     
  11. Ветеран

    Регистрация:
    7 янв 2014
    Сообщения:
    48
    Симпатии:
    6
    залейте пожалуйста готовый батник с pzlib+srep+4x4lzma со всеми файлами, сдох винт, все файлы и сборки для упаковок были на нем (
     
  12. Ветеран Модератор

    Регистрация:
    26 июн 2011
    Сообщения:
    1.131
    Симпатии:
    723
    Stas, pzlib не использую.
     

    Вложения:

    vint56 и Stas нравится это.
  13. Ветеран

    Регистрация:
    7 янв 2014
    Сообщения:
    48
    Симпатии:
    6
    спасибо большое добрый человек
     
  14. Новичок

    Регистрация:
    21 фев 2018
    Сообщения:
    10
    Симпатии:
    0
    Mickey1s, Добрый день,помогите пожалуйста распаковать

    Пакую так:
    Код (Text):

    arc.exe a -w.\ -ep1 -dses --dirs -s; -lc- -di -i2 -r -mpzlib+srep+lzma:a1:mfbt4:d200m:fb273:mc10000:lc8:lp4:pb4 data-1.catalyst packeddata\*
    pause
     
    Arc.ini:
    Код (Text):

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

    [External compressor:pzlib]
    header    = 0
    packcmd = pZLib e -m2 -c256m -t2 - -o - <stdin> <stdout>
    unpackcmd = pZLib d -t90p - -o - <stdin> <stdout>
     
    [Files]
    Source: IsDoneFiles\ISDone.dll; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\unarc.dll; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\unpack.exe; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\pZLib.exe; DestDir: {tmp}; Flags: dontcopy
    #ifdef records
    Source: Output\records.inf; DestDir: {tmp}; Flags: dontcopy
    #endif
    #ifdef PrecompInside
    Source: IsDoneFiles\CLS-precomp.dll; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\packjpg_dll1.dll; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\precomp.exe; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\zlib1.dll; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\arc.ini; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\srep.exe; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\hif2raw_dll.dll; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\raw2hif_dll.dll; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\unpack.exe; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\unarc.dll; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\cls-precompmt.dll; DestDir: {tmp}; Flags: dontcopy
    Source: IsDoneFiles\CLS-srep.dll; DestDir: {tmp}; Flags: dontcopy

    Еще скрипт:
    Код (Text):

     if not ISArcExtract    ( 0, 100, ExpandConstant('{src}\Data-1.bin'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
    Буду благодарен за любую помощь

    pzlib v3
     
  15. Ветеран Модератор

    Регистрация:
    26 июн 2011
    Сообщения:
    1.131
    Симпатии:
    723
    packcmd = srep {options} -slp- -a0/0 -m3f -l128 $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
    Privetiki, пробуй
     
  16. Ветеран Проверенный

    Регистрация:
    18 июн 2011
    Сообщения:
    880
    Симпатии:
    647
    Privetiki,
    #define pZLib
    [Setup]

    [Files]
    #ifdef pZLib
    Source: Include\pZLib\hif2raw_dll.dll; DestDir: {tmp}; Flags: dontcopy
    Source: Include\pZLib\raw2hif_dll.dll; DestDir: {tmp}; Flags: dontcopy
    Source: Include\pZLib\pZLib.exe; DestDir: {tmp}; Flags: dontcopy
    #endif

    Код (Text):

    procedure CurStepChanged(CurStep: TSetupStep);
    begin
      #ifdef pZLib
      ExtractTemporaryFile('hif2raw_dll.dll');
      ExtractTemporaryFile('raw2hif_dll.dll');
      ExtractTemporaryFile('pZLib.exe');
      SaveStringToFile(ExpandConstant('{tmp}\pZLib.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
    end;

    if not ISArcExtract    ( 0, 100, ExpandConstant('{src}\Data-1.bin'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\pZLib.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
     
    Последнее редактирование: 27 июн 2018
    Simorq и sergey3695 нравится это.
  17. Ветеран Модератор

    Регистрация:
    26 июн 2011
    Сообщения:
    1.131
    Симпатии:
    723
    vint56, SaveStringToFile(ExpandConstant('{tmp}\pZLib.ini') -> ExpandConstant('{tmp}\arc.ini'). pZLib.ini возможно.
     
  18. Новичок

    Регистрация:
    21 фев 2018
    Сообщения:
    10
    Симпатии:
    0
    vint56, upload_2018-6-26_11-56-32.png
    Такой результат (
     

    Вложения:

  19. Ветеран Проверенный

    Регистрация:
    18 июн 2011
    Сообщения:
    880
    Симпатии:
    647
    Privetiki, я из своего модуля переписал но строчку твою для распаковки указал в моем модуле pZLib.ini а у тебя arc.ini поменяй
    SaveStringToFile(ExpandConstant('{tmp}\pZLib.ini') на arc.ini
    либо
    ExpandConstant('{tmp}\pZLib.ini')
     
  20. Новичок

    Регистрация:
    21 фев 2018
    Сообщения:
    10
    Симпатии:
    0
    vint56, Сделал,но теперь вернулись первые две ошибки
    upload_2018-6-26_14-12-54.png

    arc.ini сейчас так выглядит:
    Код (Text):

    [External compressor:srep]
    options  = l%d (minimal match length, default=512)
    header = 0
    packcmd   = srep {options} -slp -a0/0 -m3f -l128 $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
    unpackcmd = srep -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

    [External compressor:pzlib]
    header    = 0
    packcmd = pZLib e -m2 -c256m -t2 - -o - <stdin> <stdout>
    unpackcmd = pZLib d -t90p - -o - <stdin> <stdout>
     
     

Поделиться этой страницей