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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
EmZADE

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

Цитата:
Хах) так это ж я наоборот для упрощения сделал, чтобы не прописывать % вручную, просто добавил в проект создавшийся record.inf после прогона и все) И кстати этот прогон обезопасит юзеров от непроверенных репаков  А то быстро наваял и выложил, а как он работает не проверил) И вся автоматика внутри dll, скрипт никак от этого не страдает. Только нткакого гемора с заданием процентов

Вот это то и плохо!
Смотрите, что получается;
1. Компилим большой репак (маленькие редко бывают) ну, допустим примерно 3 часа.
2. После делаем прогон, и это ещё часа на 3, а то и гораздо больше.
3. Раскоментируем строку record.inf и снова компилим, и снова ждём 3часа.
4. Проверяем полученный результат (без этого никак) и еще 3 часа, а то и гораздо больше.
 
И такое дикое извращение ради того чтобы добавить один файлик!
Как ни крути, НО всё же проще проценты расчитать вручную всего-то от силы займёт минуту, а иначе это пытка какая-то.
И понятное дело если исключить лишние шаги 2 и 3, то всё получится в два раза быстрее, и естественно проверить работоспособность репака будет тоже быстрее.  
Опомнитесь пока не поздно!

Всего записей: 12 | Зарегистр. 01-06-2010 | Отправлено: 11:27 10-06-2010 | Исправлено: EmZADE, 11:29 10-06-2010
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EmZADE
Репакеры, кто сейчас пакует InnoSetup'ом? Что-то не слышу голосов. Если ты пакуешь самой инно, тебе и моей ДЛЛки не надо)) В моем случае Инно служит чисто красивой оболочкой для распаковки 7z/arc архивов с вставками srep'а и т.д. Сам инсталер занимает от силы 1мб, а архивы надо паковать ОТДЕЛЬНО. Для того и создавалась эта библиотека, чтобы убрать вылезающие окна других распаковщиков.
 
Добавлено:
И вот интересно, если ты допустил ошибку маленькую в скрипте, ну заголовок не понравился, а Inno уже все запаковала и выдала архивчик эдак на 8 гигов, ты поправишь скрипт, и снова все перепаковывать? Не смешно ли?) Легче внешним паковщиком все упаковать, а потом со скриптом разбираться. Во-первых итоговый размер будет меньше, во-вторых описанных мной проблем не будет.
 
Добавлено:
Или может все таки сделать 2 варинта...и тот, и другой. На выбор, так сказать

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 11:58 10-06-2010 | Исправлено: Profrager, 12:26 10-06-2010
TechneS



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

Всего записей: 44 | Зарегистр. 18-04-2010 | Отправлено: 12:54 10-06-2010
EmZADE

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Profrager
Даже если и упаковать все данные в отдельные архивы (хотя пакуют в основном pcf и среповские файлы), то всё равно это не отменяет ПРОГОН (при серьёзном репаке весьма длительный процесс), а это пустая трата времени, уж лучше проценты руками расставить и вместо прогона выполнить проверку работоспособности. И заметьте автоматика доставляет больше проблем нежели ручной расчёт, и манипуляций при автоматике ничуть не меньше, а вот выигрыш по времени при ручном вводе колосальный.

Всего записей: 12 | Зарегистр. 01-06-2010 | Отправлено: 13:21 10-06-2010 | Исправлено: EmZADE, 13:23 10-06-2010
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EmZADE
а как ты будешь расставлять процент на каждую операцию?) и откуда ты узнаешь сколько она будет занимать времени каждая операция относительно общего времени при распаковке? или на каждую операцию по одинаковому соотношению? Это будет не лучше шаговых прогрессбаров и время окончания распаковки не рассчитать. Оно будет прыгать от операции к операции. Я как раз от этого и хочу уйти. Другим способом как тестовый прогон этого не сделать. Может предложишь еще какой-нибудь универсальный способ? Ручная подстановка % на обум меня не устраивает.
 
Добавлено:
TechneS

Цитата:
Сделай 2 варианта оень признателен буду да и не только я, атоматика это хорошо но в некоторых случаях мне например будет удобней ручками делать,

сделаю оба варианта, но вариант с ручной подстановкой мне не нравится) Потому как когда кроме % на прогрессбаре будет еще и считаться время до окончания..вот тут и будет весь косяк ручной подстановки..

Цитата:
и скоро ожидается версия с фриарком?

все таки отдалась мне unarc.dll но долго сопротивлялась. Не мог найти причину почему она виснет, когда ей задаю сделать какую-то операцию.. оказалось таймер, что внутри unarc.dll глушит своими сообщениями "timer" сообщения о выходе "quit", не представляю почему так происходило ИМЕННО когда загружал dll из своей isdone или из exe,созданного чтобы потестить, а из скрипта нормально выходило. Пришлось править исходники unarc.dll. Теперь все работает. Осталось утрясти вопросы с прогрессбаром на моральном и программном уровне)
 
Добавлено:
да, и придется пользоваться калькулятором чтобы при ручной подстановке сумма всех % составляла 100%

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 14:00 10-06-2010 | Исправлено: Profrager, 14:21 10-06-2010
MartinUA



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

Цитата:
Не обязательно, если StartRecord не находит имени файла, заданного в '{src}\record.inf' рядом с ISDone.dll, то он переходит в режим записи конкретно в  '{src}\record.inf' . Если же находит, то режим чтения из этого файла рядом с собой.
я всё так и делаю... объяснил не понятно просто ))
 

Цитата:
вот когда у тебя уже готовый inf в tmp то ты меняй:
во-во, чувак прям в точку попал, действительно во время второй компиляции (после тестового прогона) надо обязательно менять src на tmp, тогда можно recoed.inf с src удалять и проценты будут норм идти... лучше в справке для таких нубов как я напиши, и тогда не надо будет делать как говорит TechneS два варианта, хватит только варианта автоматики

Всего записей: 51 | Зарегистр. 12-01-2010 | Отправлено: 14:25 10-06-2010 | Исправлено: MartinUA, 14:30 10-06-2010
EmZADE

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

Цитата:
 и время окончания распаковки не рассчитать

Отображение времени распаковки, субъективно не самая важная опция.  

Цитата:
да, и придется пользоваться калькулятором чтобы при ручной подстановке сумма всех % составляла 100%
Уж лучше минуту потратить на подсчёт, чем пол дня ждать пока прогон завершится. Тем более что при большенстве репаков колличество архивов не очень большое.

Всего записей: 12 | Зарегистр. 01-06-2010 | Отправлено: 14:36 10-06-2010
MartinUA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EmZADE
в recode.inf тоже можна ручками всё вписать: весь прогрессбар это число 10000. вот создаёшь ручками этот файл, вписываешь сколько хочешь числ, что б их сумма была 10000, вот и вся фишка  
(например так: 2500
                      2500
                      5000) числа на три операции.

Всего записей: 51 | Зарегистр. 12-01-2010 | Отправлено: 14:41 10-06-2010 | Исправлено: MartinUA, 14:42 10-06-2010
TechneS



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Profrager
Ясно и всё понятно, тогда буду ждать версию с арком, как я понял сегодня завтра она уже появится, а насчёт прогресс бара делай как будет правильно и более коректно, твоя идея с препроцессорами очень понравилась да и не мне одному, поэтому слежу за всеми твоими действиями и выходами новых версий))

Всего записей: 44 | Зарегистр. 18-04-2010 | Отправлено: 14:52 10-06-2010
Profrager



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

Цитата:
в recode.inf тоже можна ручками всё вписать: весь прогрессбар это число 10000. вот создаёшь ручками этот файл, вписываешь сколько хочешь числ, что б их сумма была 10000, вот и вся фишка

Только не сколько хочешь чисел, а ровно столько, сколько операций, иначе некорректно прогрессбар будет отображать.

Цитата:
во-во, чувак прям в точку попал, действительно во время второй компиляции (после тестового прогона) надо обязательно менять src на tmp, тогда можно recoed.inf с src удалять и проценты будут норм идти...

эх..так и не поняли меня) Да, этот способ канает, но тогда вместе с архивами и инсталером придется и этот inf тащить.
Функция StartRecord(ExpandConstant('{src}\record.inf'))
не читает из указанного пути файл. Она в него ТОЛЬКО пишет. Читает она ТОЛЬКО из файла, который находится рядом с dll, с тем же названием, что и указано в параметрах StartRecord, путь в данном случае не учитывается.
Вот исходный код этой функции, если интересно: Подробнее...
 
Все таки сделаю видео, когда будет готова 0.3 версия, чтобы все понятно было..
 
Добавлено:
И record.inf надо не забывать добафлять в секцию [Files], чтобы он компилися вместе с остальным проектом и отправлялся в папку {tmp} при установке вместе с isdone.dll
 
Добавлено:
млин..кастрюля спалилилась пока тут писал..

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



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

Цитата:
Только не сколько хочешь чисел, а ровно столько, сколько операций, иначе некорректно прогрессбар будет отображать.
ну я это имел ввиду
 
ну вот не хотят у меня так проценты работать и всё

Цитата:
StartRecord(ExpandConstant('{src}\record.inf'))

 
а если так делаю, то всё отлично отсчитывается

Цитата:
StartRecord(ExpandConstant('{tmp}\record.inf'))

 
не знаю почему именно у меня так, наверно какой-то tmp у меня в системе не правилынй хДД

Всего записей: 51 | Зарегистр. 12-01-2010 | Отправлено: 15:29 10-06-2010
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MartinUA
кинь свой скрипт и скажи где находится созданный в тестовом прогоне record.inf

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Profrager у меня не выполняется record.inf, приходится прописывать: StartRecord(ExpandConstant('{tmp}\record.inf'));, тогда всё шик)

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
неповторяющаяся ошибка - глюк, повторяющийся глюк - баг.. однако странно, у себя я такого не замечал. Я это делал специально, чтобы в скрипте практически ничего не исправлять после тестового прогона
 
Добавлено:
или запишем в раздел "фитчи"?

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



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Profrager
1-пункт: во время тестового прогона создаю record.inf в {src} (тоисть возле инстала), потом этот созданый record.inf переношу в C:\Program Files\For Repacks\Inno Setup (у меня там же все длл'ки лежат) и через секцию [Files] компилю его (естественно в скрипте прописано Source: C:\Program Files\For Repacks\Inno Setup\record.inf; DestDir: {tmp}; Flags: deleteafterinstall, а нижнюю строчку для этого файла так и оставляю StartRecord(ExpandConstant('{src}\record.inf'))), после второй компиляции я этот record.inf удаляю и setup.exe переношу к нужным файлам, что б опять протестировать инсталл...
2-пункт: ... и в это время проценты не показываются, НО если я сделаю всё так же как в первом пункте, только здесь заменю на {tmp} (StartRecord(ExpandConstant('{tmp}\record.inf')), то проценты отлично будет работать.

Всего записей: 51 | Зарегистр. 12-01-2010 | Отправлено: 15:52 10-06-2010 | Исправлено: MartinUA, 15:56 10-06-2010
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MartinUA
ммм...значит где-то у меня косяк...буду искать

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Profrager я же говорю) он цеплял его с самого начала с src, когда там пусто то проценты кажут 0) т.е. без поправки в StartRecord)

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ЧорД..нашел косяк Спасибо, исправлю)

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Profrager
Вот видишь сколько уже вопросов по record.inf, а сколько ещё в будущем с этим файлом народа будет парится и в каждом посте про него спрашивать, боюсь даже представить. Лишнее звено - лишний глюк

Всего записей: 12 | Зарегистр. 01-06-2010 | Отправлено: 16:11 10-06-2010 | Исправлено: EmZADE, 16:14 10-06-2010
MartinUA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EmZADE
дак какие вопросы могут быть в будущем, если глюк уже найшли.
 
 
Добавлено:
Зы: неопытные за этот скрипт не возьмутся, т.к. не смогут соеденить его с чем-то другим, а опытные и сами смогут разобраться

Всего записей: 51 | Зарегистр. 12-01-2010 | Отправлено: 16:18 10-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