deleted

zettend

Старожил
Lil Pup, исдон служит библиотекой для распаковки, или как-то так.
Сжатие происходит другим софтом, чаще всего FreeArc и куева туча модулей к нему.
Отличные примеры в документации с ним. Так-же есть куева туча готовых скриптов с ним.
 

Nemko

Дилетант
Модератор
Lil Pup, скачайте ISDone 0.6 final, там есть руководство в комплекте + пример в виде готового скрипта, даже не знаю чем можно сделать разъяснения понятнее.

Проще говоря алгоритм такой:
  1. Пакуете файлы игры, архиватором (FreeArc, WinRAR, 7zip : популярные архиваторы).
  2. Открываете скрипт (пример с ISDone), в зависимости от выбранного Вами архиватора раскоментируйте нужные модули в самом начале если это требуется (для FreeArc, 7zip не требуется).
  3. Далее переходим почти в самый низ (срока прибл. 420), видим много закоментированных условий - это примеры для подключение архивов, выше уже прописан один тип подключения, как раз для FreeArc архива(if not ISArcExtract........). Измените имя архива и пропишите в эту строчку (Пример: if not ISArcExtract ( 0, 0, ExpandConstant('{src}\ИМЯ АРХИВА.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break).
  4. Потом компилируем скрипт, после этого скопируйте\переместите ранее запакованный архив в папку с исполняемым файлом (Setup.exe), обратите внимание чтобы имя архива и расширение (ИМЯ АРХИВА.arc) совпадали с прописанными в коде.
  5. Теперь тестируем, если все было сделано правильно, то пойдет распаковка. Дожидаемся полного завершения (Тестового прогона) и закрываем инсталлятор.
  6. Окончательная ступень, раскоментируйте строчку (#define records) в самом начале и откомпилируйте скрипт заново. Это нужно для того что бы время до окончания установки показывалось правильно.
  7. Все можете переместить Setup.exe и ИМЯ АРХИВА.arc в отдельную папку или на CD\DVD болванку (если актуально), а records.inf можно удалить.
 
Последнее редактирование:

Nemko

Дилетант
Модератор
Lil Pup, Вы немного запутались, вот заблуждения которые как по мне нужно прояснить:
  1. Модуль ISDone - это модуль для распаковки различных типов архивов, он ничего не сжимает (исключение Precomp, Srep....).
  2. Почему большинство пользуется ISDone, потому что с помощью архиваторов можно добиться лучшего сжатия, а порой и скорости распаковки. Алгоритм сжатия сторонним архиватором, намного лучше встроенного и поддается ручной корректировки.
  3. Упаковывать архив в сам инсталлятор - это не очень разумный ход, так как сжатие от этого лучше не станет, а только время установки увеличится.
  4. Главное заблуждение - это расширение. Формат '.bin' это расширение с которым работает Inno Setup, но Вы можете замаскировать Ваш архив. Например из Data.arc в Data.bin путем переименования. Расширение файла это ни что, только название, главное структура файла.
 

Nemko

Дилетант
Модератор
Чем лучше всего сжимать, файлы разных размеров?
Результат лучшего сжатие зависит не от размера самих файлов, а от метода их сжатия. А метод сжатия зависит от типа файлов (от их структуры). Предлагаю вам не вникать так глубоко, если Вас устраивало стандартное сжатие Inno Setup. Порекомендую 7zip, данный архиватор прост, не грузит систему и имеет хороший уровень сжатия. Настройки 7zip: Уровень сжатия - Ультра. Метод сжатия: LZMA/LZMA2. И все хорошо. Но лучшее сжатие конечно это FreeArc. Простые настройки сжатия для FreeArc: -mx -lc75% -ld50% ( -mx - уровень сжатия максимум, -lc75% - выделение оперативной памяти для запаковки 75%, -ld50% - выделение оперативной памяти для распаковки 50%).
Что бы поменьше файлов было,там допусти setup.exe data1.bin ,data2.bin,а не data1.bin,data2.bin,data3.bin,data4.bin и так далее.
Несерьезный вопрос, отсортируйте файлы на одинаковые доли и запакуйте. Либо сделайте разбивку на тома в архиваторе, как удобнее будет.
 
Последнее редактирование:

Ramiro Cruzo

Новичок
Basically, you're asking a complete summary of repacking, good that am in the patient mood...There are many types of data which we compress in repacking, will explain each of them below:

1. Normal Data files:

Nothing special, nothing great, run a course of srep+lzma or srep+lzna or srep+lza or rzm+lzma to squeeze them. These basically search for patterned repetition inside the data on binary level. No need to know more unless you're interested in coding.

2. Compressed Data files:

These can be classified ass 2 types:
  • 2.1. Embedded Compression Data files
  • In this sort of files, compressed streams are embedded inside data files, commonly used being zlib, lz4, lzma, etc. For these sort of files, we use pre compressors like reflate, precomp, pzlib, plz4, lzmadump, etc. Precompressors decompress the compressed streams inside and then we treat deompressed data as Normal Data files running above compression routines on it.
  • 2.2. Entirely compressed/Encrypted Data files
  • These are another case and need to be decompressed/decrypted before compressing, but make sure you can restore these properly or else you'll end up with broken data files.
3. Special Streams

Special aka Media streams. Beets to run msc after precompression if its originally compressed and then compress it. It sometimes can be a life saver :) These streams usually include dds, bmp, mp3, etc

4. Video Files

Most conflicted files in entire repacking industry xD .avi, .mp4 and .mkv can be compressed heftily by RAR5. USM CRI can be done by BWT. Rest, just nuke them with the strongest yet fastest setting.

Use Google translator, writing this much in Russian = Death of me ;)
 

makst

Новичок
Lil Pup, перевел. Надеюсь что понятно ;)

1. Обычные данные:

Ничего особенного, можно пройтись следующими цепочками сжатия: srep+lzma / srep+lzna / srep+lza / rzm+lzma. Они позволяют находить повторы на больших файлах. SuperREP (SREP)

2. Сжатые данные:

Могут быть 2 типов:
  • 2.1. Данные со встроенным сжатием
  • В таких случаях, сжатые потоки встроены в данные файлах. Чаще всего встречаются такие потоки как - zlib, lz4, deflate, итд. Для таких случаев используются ПРЕ-компрессоры, такие как - precomp, pzlib, plz4 итд. Они распаковывают сжатые потоки и потом можно пройтись цепочками описанные в 1-ом пункте для наилучшего результата.
  • 2.2. Полностью сжатые / зашифрованные данные
  • Такие данные тоже нуждаются сперва в распаковки / расшифровки. Надо иметь ввиду что для удачного результата нужно их как следует восстановить чтобы не иметь поврежденных данных.
3. Другие потоки

Медия потоки такие как - .dds, .bmp, .mp3, .raw, .wav итд. Нужно использовать MSC для наилучшего результата.

4. Видео файлы

Не особо хорошо жмутся. Можно использовать самую быструю цепочку сжатия (в зависимости от объема данных).

Thanks Ramiro!
 

Ramiro Cruzo

Новичок
Freearc не поддерживает DiskSpanning, поэтому каждый .bin может быть извлечен отдельно. И они обычно сделаны более чем одним для более чем одного типа файлов.
 

Ramiro Cruzo

Новичок
Я не использовал его,я всё сделал стандартными средствами inno setup
Как вы сжимали данные? Использовать для этого волшебник Inno?

Если да, то вы должны были использовать DiskSpanning, чтобы сделать эту установку - # .bin

Код:
[setup]
...
DiskSpanning = Yes
 

SBalykov

Старожил
Кто нибудь знает,можно перепаковать один файл, например setup.exe setup-1.bin и что бы остались другие setup-2.bin,setup-3.bin,setup-4.bin и так далее,или придётся полностью всё заново комплектовать?
В InnoSetup такое не прокатывет. Вам придется полностью перепаковать Ваши данные ...
 

Nemko

Дилетант
Модератор
nizcoz, text from the Help:
RUS: Он служит для автоматического определения процентных соотношений между операциями. Создается в первом прогоне установки, далее включается в установщик раскомментированием выше указанной строки.
ENG: It serves to automatically determine the percentage of transactions. It is created in the first run of the installation, then it is included in the installer by uncommenting the above line.
 
Сверху