Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup плюс внешние упаковщики

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

Открыть новую тему     Написать ответ в эту тему

msatmb



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
При создании больших инсталяций в InnoSetup можно значительно уменьшить их размер, воспользовавшись более мощной упаковкой, чем встроенная. Особенностям применения внешних упаковщиков с InnoSetup посвящена данная тема
 
Варианты выбора:
 
RAR: упаковка в общем хуже чем встроенная, но есть куча доп. алгоритмов (тексты, мультимедиа), поэтому может давать выигрыш на некоторых типах данных. Распаковка: только через SFX
 
7-zip: тот же алгоритм упаковки, что и встроенный (lzma), но за счёт доп. алгоритмов bcj2, delta, lzma2, ppmd и большего словаря может обеспечить лучшее сжатие. Для наилучшего сжатия рекомендуется: 64-битная еерсия, 6гб ОЗУ, Ultra7z Optimizer. Распаковка: через SFX или dll от Expeditor
Модуль распаковки архивов 7z 1.01 [18.12.2008] от ExpeditorR
 
FreeArc: тот же базовый алгоритм упаковки (lzma), но наличие множества доп. алгоритмов может обеспечить большее сжатие. Распаковка: через SFX или dll
Модуль распаковки архивов FreeArc [10.07.2009] от Bulat_Ziganshin
 
NanoZip: наилучшее сжатие в редиме -cc (распаковка 1mb/s), оптимальный режим -cO (распаковка 5mb/s). Распаковка: только через SFX
 


Все остальное в родственных темах
 
Inno Setup (создание инсталяционных пакетов)
 
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - обсуждение того, какими утилитами/способами лучше сжимать, чтобы получить как можно меньший размер инсталятора.
 
FreeArc - бесплатный open-source архиватор для Windows и Linux, сочетающий высокую степень сжатия и большой набор возможностей

Всего записей: 178 | Зарегистр. 15-04-2007 | Отправлено: 08:31 11-11-2009 | Исправлено: juvaforza, 20:49 26-04-2011
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
msatmb
неа, траблы с прогрессбаром будут, потому как выбор одного компонента и не выбор другого, или выбор обоих приведет к некорректному отображению %.

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 13:21 15-06-2010
XepAP

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Profrager
А счётчик подчёта размера распаковки
Ну вот где проценты что бы шло примерно так : 1 Gb....из .....10 Gb распаковалось
Чтобы менялось первое число
Ну или хотя бы вручную прописать
Знаю что число не точное , ибо там идёт переработка из одного архива в другой, но всё же.
 
ну или прикрутить этот скрипт
Он в начале показывает сколько нужно места для распаковки и сколько будет игра потом весить
И показывает сколько у вас свободного места
Смысл в том чтобы человек не смог поставить игру в раздел диска если не будет хватать свободного места там
http://forum.ru-board.com/topic.cgi?forum=5&topic=33457&start=2059&limit=1&m=1#1
Деление на диске не критично.
Так же жду релиза 0.4 .Спасибо заранее.

Всего записей: 10 | Зарегистр. 11-06-2010 | Отправлено: 13:21 15-06-2010
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XepAP

Цитата:
А счётчик подчёта размера распаковки  
Ну вот где проценты что бы шло примерно так : 1 Gb....из .....10 Gb распаковалось  
Чтобы менялось первое число  
Ну или хотя бы вручную прописать  
Знаю что число не точное , ибо там идёт переработка из одного архива в другой, но всё же.

Это можно чисто из скрипта сделать, если тебе так надо. Берешь максимальный размер (у тебя в примере 10Гб) умножаешь на текущий %, получаешь псевдо-распакованные-Гб данных. Иначе никак, ибо например суммарный объем данных переработанных freearc+srep+precomp+7z игры Ufo:Afterlight составит 1,2Гб+6Гб+11Гб+3Гб=21Гб, при этом максимально занимаемое место при установке было 11,5Гб, после установки - порядка 2,5-3Гб (не помню точно). И как эти цифры возможно рассчитать автоматически? Да и dll при выполнении определенной функции не знает какая будет следующая. В этом и вся загвоздка..иначе придется переходить на собственные скрипты в dll'ке, а со стороны Inno будет производится только запуск dll. Оно того не стоит

Цитата:
ну или прикрутить этот скрипт  
Он в начале показывает сколько нужно места для распаковки и сколько будет игра потом весить..

я занимаюсь dll'кой, а не скриптами
 
 
Добавлено:
 
 
У кого есть желание потестить работу с компонентами и rar - мне в ПМ.
 

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 13:38 15-06-2010 | Исправлено: Profrager, 19:10 15-06-2010
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ISDone.dll v 0.4

 
Библиотека, включающая в себя все необходимое для распаковки и подготовки файлов с помощью прекомпрессоров посредством инсталлятора InnoSetup, с равномерным отображением всех идущих операций на одном прогрессбаре. Поддерживаются arc, 7zip, rar, pcf, srep архивы. На будущее планируется добавить некоторые необходимые функции, а так же возможность параллелизации операций на многоядерных системах.
 
 
Включает в себя модули(функции) для распаковки
ISArc   - распаковка arc-архивов
IS7Zip   - распаковка 7zip-архивов
ISRar   - распаковка rar-архивов
ISPrecomp - распаковка Precomp версий 0.38 и v0.4
ISSRep  - распаковка SRep v1.5
 
ИЗМЕНЕНИЯ В МОДУЛЯХ:

ISRar
  • собственно добавлен этот модуль. Поддерживается распаковка .rar архивов, включая multi-volume. Все тома должны находиться рядом с первым на одном диске;
ISArc
  • добавлена возможность задавать рабочий каталог для распаковки freearc;
  • изменено название функции с ISUnarcExtract на ISArcExtract. Осторожней со старыми скриптами!;
Скрипт:
  • процесс установки перенесен в момент ssInstall, в связи с чем возникла необходимость в следующем пункте;
  • с помощью TechneS (спасибо ему за это) был упрощен скрипт добавлением условных операторов #define, #ifdef, #endif и некоторых других мелких деталей. Теперь нет необходимости менять в нескольких местах: компилить ли в проект файлы records.inf, precomp04.exe и т.д. или нет;
  • практически все комментарии перенесены в файл readme.txt, так же туда добавлено более подробное описание каждой функции библиотеки;
ОБЩЕЕ:
  • добалена поддержка компонентов. Отключить использование компонентов можно просто закомментировав в начале скрипта строку: #define Components;
  • добавлена функция на запрос следующего диска с автоматическим слежением за входным путем на предмет появления там заданного файла;
  • полностью пеработан блок создания автоматического распределения процентов на прогрессбар, в связи с чем исправлены небольшие баги.

 
   Необходимые файлы(все необходимые файлы находятся в папке include\):
  • При любой конфигурации в проекте необходим InnoCallback.dll;
  • Если используете ISUnarcExtract (распаковка .arc) ничего добавлять не требуется;
  • Если используете IS7ZipExtract (распаковка .7zip) ничего добавлять не требуется;
  • Если используете ISRarExtract (распаковка .rar) неободимо добавить unrar.dll включением в начало скрипта строки #define unrar
  • Если используете ISPrecompExtract (распаковка файлов Precomp v 0.38)необходимо добавить:
    packjpg_dll.dll, zlib1.dll, precomp038.exe, RTconsole.exe включением в начало скрипта #define precomp038 и удалением (или комментированием) #define precomp04
  • Если используете ISPrecompExtract (распаковка файлов Precomp v 0.4) необходимо добавить:
    packjpg_dll.dll, precomp04.exe, RTconsole.exe включением в начало скрипта #define precomp04 и удалением (или комментированием) #define precomp038
  • Если используете ISSRep (распаковка SRep v1.5) ничего добавлять не требуется;
     
     
    Скрипт с примером и файл readme.txt с кратким описанием библиотеки прилагается.
     
     
     
    Ссылки:

    Те кто уже скачал, перезагрузите! Я перезалил
    http://rghost.ru/1915093
    http://rapidshare.com/files/400067857/ISDone0.4.zip

  • Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 16:52 17-06-2010 | Исправлено: Profrager, 19:41 17-06-2010
    daemon_rm

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Profrager
    вроде бы уже нашел ошибку, снял видюшкой: http://rghost.ru/1914235
    зы: в окне запроса диска неплохо бы изменить стандартную иконку делфи в левом верхнем углу) как то портит вид или убрать можно)
    зыы: если распаковка будет идти на этапе ssinstall, то впринципе можно будет отменять стандартными средствами IS(т.е не надо делать свою кнопку и т.д.).

    Всего записей: 152 | Зарегистр. 03-10-2009 | Отправлено: 18:10 17-06-2010 | Исправлено: daemon_rm, 18:16 17-06-2010
    Profrager



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    daemon_rm
    ну уж с рабочего стола я ее не пробовал тестить) Сейчас посмотрю
     
    Добавлено:

    Цитата:
    зы: в окне запроса диска неплохо бы изменить стандартную иконку делфи в левом верхнем углу) как то портит вид  или убрать можно)

    там отображается иконка из ресурсов dll, иначе будет белый квадратик.

    Цитата:
    зыы: если распаковка будет идти на этапе ssinstall, то впринципе можно будет отменять стандартными средствами IS(т.е не надо делать свою кнопку и т.д.).

    ну я всегда говорил, что не спец по скриптам и Инно, делал по примеру скрипта FreeArc

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 18:16 17-06-2010
    daemon_rm

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    ну уж с рабочего стола я ее не пробовал тестить) Сейчас посмотрю

    даже хоть и с C:\ISDone... так же

    Цитата:
    там отображается иконка из ресурсов dll, иначе будет белый квадратик.

    поменял ресторатором норм)

    Всего записей: 152 | Зарегистр. 03-10-2009 | Отправлено: 18:26 17-06-2010 | Исправлено: daemon_rm, 20:22 17-06-2010
    troyan90



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    процесс установки перенесен в момент ssInstall

    в postinstall работать будет?

    Всего записей: 397 | Зарегистр. 24-04-2010 | Отправлено: 19:20 17-06-2010
    msatmb



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А куда все делось? Почему файлы удалены?
     
    Добавлено:
    troyan90
    Кудаж он денется то. Конечно будет. Этож скриптом прописывается.

    Всего записей: 178 | Зарегистр. 15-04-2007 | Отправлено: 19:35 17-06-2010
    Profrager



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    daemon_rm
    так...все ясно, из-за моей невнимательности забыл убрать пару закомментированных строк в коде после моих экспериментов..ну и раз перезаливать придется, то заменил иконку на стандартную Inno.
     
    Загрузите архив снова! Я перезалил с поправками

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 19:41 17-06-2010
    troyan90



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    msatmb
    кто знает. может оно в длл запрещено ))

    Всего записей: 397 | Зарегистр. 24-04-2010 | Отправлено: 19:43 17-06-2010
    Profrager



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    troyan90
    можно, только проверку на ошибки:
         if MyError then Error;
    в конец надо перенести, после StopRecord;

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 19:45 17-06-2010
    K9000

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Profrager
    Может тогда и 7z.dll в include\ вынуть? Тогда про лицензионные проблемы можно забыть

    Всего записей: 341 | Зарегистр. 05-05-2010 | Отправлено: 19:49 17-06-2010
    troyan90



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Profrager
    ага ясно спс

    Всего записей: 397 | Зарегистр. 24-04-2010 | Отправлено: 19:51 17-06-2010
    Profrager



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    K9000
    ага, Игорь Павлов на меня в суд подаст за то, что я его нетронутую dll в свою засунул..Смешно прям)
    Это тоже самое что например на aspack в суд подавать) Да и то там данные сжимаются и криптуются, а тут просто лежат не на диске а внутри dll.

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 19:55 17-06-2010 | Исправлено: Profrager, 20:03 17-06-2010
    troyan90



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Profragerс помощью обычного фриарка была возможность извлечь из архива определенный файл. в некоторых случаях это полезно. вместо того чтобы извлекать весь архив я извлекал только один файл.
    возможно ли добавить такую фишку в твою длл? или это можно додумать в самом скрипте?

    Всего записей: 397 | Зарегистр. 24-04-2010 | Отправлено: 20:06 17-06-2010
    Profrager



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    troyan90
    не, в скрипте не додумать, это надо вводить еще один параметр у функции ISArcExtract, но думаю оно того не стоит

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 20:08 17-06-2010
    troyan90



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    но думаю оно того не стоит

    еще как стоит ))
    к примеру я пакую две игры-засовываю все это дело в 1 архив. в одном архиве иногда сжатие больше чем если раскидать по двум. а чтобы не распаковывать обе игры - я распаковываю только одну.

    Всего записей: 397 | Зарегистр. 24-04-2010 | Отправлено: 20:14 17-06-2010
    Profrager



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    troyan90
    если солид сжатие у архива, а иначе смысла нет паковать 2 игры, то грубо говоря одна игра будет быстро распаковываться,т.к. находится в начале архива, а другая не начнет распаковываться пока freearc всю первую не распакует в памяти. В реальности конечно будет не так. Т.к. в архиве происходит сортировка файлов и обе игры будут примерно в 1,5 раза дольше распаковываться, чем если бы были каждая в своем архиве.

    Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 20:23 17-06-2010 | Исправлено: Profrager, 20:24 17-06-2010
    troyan90



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    хм... понятно

    Всего записей: 397 | Зарегистр. 24-04-2010 | Отправлено: 20:26 17-06-2010
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

    Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup плюс внешние упаковщики


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru