Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия

Статус
В этой теме нельзя размещать новые ответы.

urban

Старожил
Tolyak26,
Имеется архив ~5.1 ГБ, в котором содержится около 15 ГБ данных (70 файлов), сжат методом srep:m5f:l512+lzma.
Архив состоит из трёх папок. Распаковка первой папки прошла без ошибок. Распаковка второй папки выдала ошибку:
[HR][/HR]
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: setup.tmp
Версия приложения: 51.52.0.0
Отметка времени приложения: 2a425e19
Имя модуля с ошибкой: msvcrt.dll
Версия модуля с ошибкой: 7.0.7600.16385
Отметка времени модуля с ошибкой: 4a5bda6f
Код исключения: c0000005
Смещение исключения: 0000a05b
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
E:\Windows\system32\ru-RU\erofflps.txt
[HR][/HR]
При тестовом прогоне проценты доходят до 60 (при этом все данные распакованы), дальше файлы, по идее, должны просто пропускаться, но выбивает ошибку. Распаковка через unarc.exe прошла успешно.
Freearc: 0.67 (December 12 2012)
Srep: 3.91
Распаковка: ISDone 0.6 final, SrepInside 0.3.1-0.3.2
Прописана так:

UPD.
Протестировав сегодня на архивах с меньшим количеством данных, всё равно отлавливал данную ошибку.
Создал папки: A,B,C; в каждую положил разные данные, сжимал также. Пробовал распаковать, к примеру, папку B - получил эту ошибку. Главное, не последнюю папку по алфавиту.
может поможет это
 

Tolyak26

Новичок
Судя по: "Создал папки: A,B,C; в каждую положил разные данные, сжимал также. Пробовал распаковать, к примеру, папку B - получил эту ошибку. Главное, не последнюю папку по алфавиту." все равно эта ошибка имеется.

И у меня наоборот, во всех трех папках одинаковое кол-во файлов, с почти одинаковым размером..
 
Последнее редактирование:

vint56

Ветеран
Проверенный
Tolyak26
сколько всего памяти
если выходит ошибка используем 3 версию srep
 

Tolyak26

Новичок
vint56, всего установлено 8 ГБ. Не используется ~6. Я и так использовал третью версию. Только 3.2. Сейчас скачал 3.92. Опробуем.
 

Tolyak26

Новичок
Но вот в чем проблема теперь. Инсталлятор теперь выводит ошибку о неизвестном методе компрессии. Пока не сообразил, как исправить.
 

vint56

Ветеран
Проверенный
Tolyak26 используй версию 3.0 либо замени CLS-srep.dll от нового SrepInside0.32
 

Tolyak26

Новичок
Бред какой-то. На SrepInside 0.30 и 0.32 вываливается ошибка Decompression problem: broken compressed data
 

Tolyak26

Новичок
Попробывал снова Srep, но уже 3.92. Ошибки нет, но опять так же зависает.. Без папок в одном архиве у меня всего репак занимает ~3.2 ГБ против ~1.39 ГБ с папками в одном архиве.. Неужели нет другого способа так же сжать?
 

vint56

Ветеран
Проверенный
Tolyak26 srep версия 3.0 у меня нормально все распаковал Command and Conquer Red Alert 2
3 папки
Версия игры от фаргус
Версия игры от City
Версия игры Eng
А ты проверь свой архив он не битый с твоими параметрами получается 1,49 ГБ а не как 1.39 ГБ
 
Последнее редактирование:

ReFLeXx

Новичок
Tolyak26, Ну и распаковывай через него :)
Код:
[Files]
Source: unarc.exe; DestDir: {tmp}; Flags: dontcopy;

[_Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
...
  ExtractTemporaryFile('unarc.exe');
  if not ISExec( 0, 0, 0, ExpandConstant('{tmp}\unarc.exe'), ExpandConstant('x -o+ "{src}\data.bin" -ap"папка" -dp"{app}"'), ExpandConstant('{tmp}'), '...', false) then break;
...
end;
 

Tolyak26

Новичок
ReFLeXx, никак не могу понять, почему пропускает архивы и процесс распаковки не происходит. Хотя делаю вроде всё правильно..

if not ISExec( 0, 0, 0, ExpandConstant('{tmp}\unarc.exe'), ExpandConstant('x -o+ "{src}\game.bin" -dp"{app}" -hp"123"'), ExpandConstant('{tmp}'), '...', false) then break;
 

vint56

Ветеран
Проверенный
Tolyak26
if not ISExec( 0, 0, 0, ExpandConstant('{tmp}\unarc.exe'), ExpandConstant('x -o+ "{src}\data.bin" -ap"rus например" -dp"{app}"'), ExpandConstant('{tmp}'), '...', false) then break;
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху