Ошибка при распаковке

Privetiki,
ну если не используеш убери оставить только файлы xtool
это что в скрипте надо убрать ну и файлы папке IsDone перед setup ты не показал
но должно быть так ты должен убрать #define pZLib и #define ztool и оставить xtool
#define pZLib
#define xtool
#define ztool

[Files]
#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 ztool
Source: IsDone\ztool\arc.ini; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\hif2raw_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\liblz4.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\libzstd.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\lzma2.exe; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\lzo2.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\raw2hif_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\ZTool.exe; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\ztool\zlibwapi.dll; DestDir: {tmp}; Flags: dontcopy
#endif

Код:
procedure CancelButtonOnClick(Sender: TObject);
  #ifdef ztool
  if IsProcessRunning('ZTool.exe') then
       Exec(ExpandConstant('{sys}\taskkill.exe'), ' /F /IM ZTool.exe', '', SW_HIDE, ewWaitUntilTerminated, i);
#endif

procedure IsDoneUnpack(CurStep: TSetupStep);
#ifdef ztool
ExtractTemporaryFile('hif2raw_dll.dll');
ExtractTemporaryFile('liblz4.dll');
ExtractTemporaryFile('libzstd.dll');
ExtractTemporaryFile('arc.ini');
ExtractTemporaryFile('lzma2.exe');
ExtractTemporaryFile('lzo2.dll');
ExtractTemporaryFile('raw2hif_dll.dll');
ExtractTemporaryFile('Ztool.exe');
ExtractTemporaryFile('zlibwapi.dll');
#endif[/SPOILER]
 
Последнее редактирование:
Privetiki, ну если не используеш убери оставить только файлы xtool
Да,вы же мне делали этот скрипт,еще раз спасибо вам огромное :)
Я закоменчиваю но всеравно не получаеться распаковать :(
 

Вложения

Privetiki,
больше информаций что не распаковывает pzlib ztool xtool и еще не надо в скрипте темп указывать windows каталог не у всех есть доступ к папке windows еще если используеш пароль тоже надо указывать а то установка будет стоять на месте проверяй что у тебя не так
можно удалить если не используеш эти методы
lzo2.dll lzo
libzstd.dll zstd
liblz4.dll lz4

Для zlib нужно hif2raw_dll.dll raw2hif_dll.dll xtool.exe zlibwapi.dll'


if not ISArcExtract ( 0, 100, ExpandConstant('{src}\{#Data1}'), ExpandConstant('{app}\'), '', false,'', ExpandConstant('{tmp}\arc.ini'),ExpandConstant('{sys}\Temp'),notPCFonFLY{PCFonFLY}) then break;

Вот arc
Для скрипта
#define lzma2
#define SrepInside
#define xtool
#define Data1 "Data-1.arc"
#define Data2 "Data-2.arc"
#define Data3 "Data-3.arc"
[Setup]

[Files]
#ifdef xtool
Source: IsDone\xtool\arc.ini; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\xtool\hif2raw_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\xtool\liblz4.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\xtool\libzstd.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\xtool\lzma2.exe; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\xtool\lzo2.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\xtool\raw2hif_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\xtool\xtool.exe; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\xtool\xtool.ini; DestDir: {tmp}; Flags: dontcopy
Source: IsDone\xtool\zlibwapi.dll; DestDir: {tmp}; Flags: dontcopy
#endif

#ifdef SrepInside
Source: ISDone\CLS-srep.dll; DestDir: {tmp}; Flags: dontcopy
#endif

#ifdef lzma2
Source: ISDone\lzma2\lzma2.exe; DestDir: {tmp}; Flags: dontcopy
#endif

Код:
procedure IsDoneUnpack(CurStep: TSetupStep);
#ifdef xtool
ExtractTemporaryFile('hif2raw_dll.dll');
ExtractTemporaryFile('liblz4.dll');
ExtractTemporaryFile('libzstd.dll');
ExtractTemporaryFile('arc.ini');
ExtractTemporaryFile('lzma2.exe');
ExtractTemporaryFile('lzo2.dll');
ExtractTemporaryFile('raw2hif_dll.dll');
ExtractTemporaryFile('xtool.exe');
ExtractTemporaryFile('xtool.ini');
ExtractTemporaryFile('zlibwapi.dll');
#endif

#ifdef SrepInside
    ExtractTemporaryFile('CLS-srep.dll');
#endif

#ifdef lzma2
  ExtractTemporaryFile('lzma2.exe');
#endif

if not ISArcExtract  ( 0, 0, ExpandConstant('{src}\{#Data1}'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{tmp}\Temp'), notPCFonFLY{PCFonFLY}) then break;
с паролем vint56
if not ISArcExtract    ( 0, 0, ExpandConstant('{src}\{#Data1}'), ExpandConstant('{app}\'), '', false, 'vint56', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;

xtool_v09.7z
Размер файла:
3,5 МБ
 

Вложения

  • arc.ini
    arc.ini
    740 байт · Просмотры: 27
Последнее редактирование:
vint56, А по настройкам xtool`а можете что-то подсказать?
зтул у меня намного сильнее сжимал хотя и времени это занимало намного больше
Что можно в настройках поменять хтула что бы лучше сжатие было?
 
Privetiki, Не сжатие а разжатие) XTool это прекомпрессор..Так просто поправил)
Для упаковки
[External compressor:xtool]
header = 0
packcmd = xtool e:precomp:t4,c32mb:zlib - - <stdin> <stdout>

Для распаковки
[External compressor:xtool]
header = 0
unpackcmd = xtool.exe d:precomp:t4 - - <stdin> <stdout>

По невыявленной мною причине при попытке разжать файлы менее 1 мб, Xtool просто закрывается..Для решения этой проблемы вместо - - <stdin> <stdout> подставьте $$arcdatafile$$.tmp $$arcpackedfile$$.tmp
 
Privetiki, XTool это не компрессор а ПРЕкомпрессор..Мне же не надо объяснять в чем между этими понятиями разница?
Все остальное написано комментом выше
 
Privetiki, я тут сделал сравнения ztool и xtool на игре Treasure Hunter Simulator у них на выходе одинаковый размер
 
Последнее редактирование:
Privetiki,
1) Узнать какой метод используется в игре
ниже перечисленные и только тогда xtool подставить zlib или crilayla и так далее...
Operations and codecs available:
precomp - data precompression
zlib : loaded
crilayla : not loaded
lz4 : not loaded
zstd : not loaded
lzo : not loaded
oodle : not loaded
Для этого нужно программа Game File Scanner от Razor12911 Проверка на налийчий тех или иных потоков
чтобы нормально отображало размер нужно будет заменить запитую на точку
 

Вложения

Назад
Сверху