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

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



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

Всего записей: 44 | Зарегистр. 18-04-2010 | Отправлено: 23:12 06-06-2010 | Исправлено: TechneS, 23:15 06-06-2010
Profrager



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

Цитата:
Я разобрался с проблеммой, ну я не указал в секции файлс прекомп 0.38 но потом исправил и всё вроде бы норм

ну вот) еще в таком случае раскомментируй в списке файлов в начале скрипта zlib1.dll и закомментируй precomp04.exe - он тебе не нужен. Кстати, интересно почему же тогда при распаковке не вылезло сообщение о том что precomp038 не найден? Или у тебя в системных переменных указан путь к такому файлу, например из PowerPack'а из комплекта FreeArc. Надо будет сделать жесткую проверку на наличие необходимых файлов для операции в текущей папке ISDone.dll, и выводом соответствующего сообщения, чтобы такого больше не повторилось.

Цитата:
но тут вылезла другая проблемма  
дело в том что если создавать файл pcf с помощью испрекомпа то он почемуто его не может извлечь идёт бесконечное извлечение доходит даже до 10гб, а если создать файл pcf простым прекомпом то всё норм

Я писал что создавать pcf файлы надо ТОЛЬКО обычной версией precomp'а - или 0,38 или 0,4. isprecomp.exe - это отдельная программа, которая создает pcf файлы с другими заголовками.
Цитата:
кстати я тоже думаю что зип выкунуть можно не мучай себе голову а файлы для pcf и так можно 7зипом я кстати так и делаю, просто зачем он если 7зипом это можно сделать, лишний кусок кода

Вот вроде надыбал в инете кусок кода, у которого не трясутся ноги при виде zip-архива с большим числом файлов) Если реализация окажется недолгой и получится прибавка кода в пределах 50к-100к, то оставлю zip, иначе оно того не стоит.
 
Добавлено:
500к добавляет к dll'ке Ну нафиг, легче было бы полную версию 7za.dll взять, там есть поддержка zip'ов. Так что прощай, ZIP

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 00:07 07-06-2010
TechneS



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

Цитата:
Кстати, интересно почему же тогда при распаковке не вылезло сообщение о том что precomp038 не найден? Или у тебя в системных переменных указан путь к такому файлу, например из PowerPack'а из комплекта FreeArc.

У меня просто вся папка в которой файлы для компиляции компилируется, поэтому наверно и не предупридил, хотя эти файлы не распаковываются во временную папку, ну все равно спасибо за помощ, если что увижу не так отпишусь!

Всего записей: 44 | Зарегистр. 18-04-2010 | Отправлено: 00:50 07-06-2010
duxa174



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день. А чем можно хоть немного сжать файлы .ark и fsb? (игра Split Second). Файлы ark сжал precomp, получил: из 20 мб. 19 мб (т.е. сжать удалось на 1 мб) (уже упакованные). Архивы fsb (с музыкой) удалось сжать только на ~200 кбайт (разница между оригиналом и упакованным precomp).
 

Всего записей: 177 | Зарегистр. 26-03-2010 | Отправлено: 17:50 07-06-2010 | Исправлено: duxa174, 19:58 07-06-2010
vint56



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

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 19:17 07-06-2010
duxa174



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

Всего записей: 177 | Зарегистр. 26-03-2010 | Отправлено: 19:27 07-06-2010
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56 используй 0.38 она лутше

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 19:58 07-06-2010
duxa174



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56 Действительно, из 30 мб. сжал в ~5мб. Спасибо.
___
Пользуюсь таким способом:

Код:
 
[run]
Filename: {app}\precomp.exe; Parameters: "-o""airport_test_03.static"" -r ""airport_test_03.static.pcf"""; WorkingDir: {app}; Flags: runhidden runasoriginaluser
Filename: {sys}\cmd.exe; WorkingDir: {app}; Parameters: /C del /F /Q airport_test_03.static.pcf; Flags: runhidden runasoriginaluser
Filename: {sys}\cmd.exe; WorkingDir: {app}; Parameters: /C del /F /Q  packjpg_dll.dll  precomp.exe; Flags: runhidden runasoriginaluser
 

Каждый файл прописывать тяжело. Есть ли др. способы?

Всего записей: 177 | Зарегистр. 26-03-2010 | Отправлено: 20:09 07-06-2010 | Исправлено: duxa174, 20:49 07-06-2010
vint56



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

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 22:11 07-06-2010
Profrager



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

Цитата:
vint56 precomp v0.4 ALPHA

Цитата:
vint56 используй 0.38 она лутше

как говорится, "ты просто его не умеешь готовить". И не надо использовать ключи -с9 -m9 якобы для лучшего сжатия, как некоторые делают) Это совсем для другого придумано)
Иного варианта почему 0,4 не распаковала архивы я не вижу

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 23:02 07-06-2010 | Исправлено: Profrager, 23:03 07-06-2010
vint56



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

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 23:10 07-06-2010
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56
ну или саму -slow забыл написать в 0,4. Я просто не встречал ситуации, когда он не находил ZLib заголовки в файлах, хотя они там есть.

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Profrager я тебе говорю я не забываю дописовать  просто в 0.40 есть косяк или баг или еше что входяший и выходяший равен одинаково  
precomp -slow  iw_00.iwd вот я как делаю и он не находил ZLib заголовки в файлах хотя они там есть. а в 0.38 версий такого нету она нормально работает вот почему она лутше

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 04:52 08-06-2010
duxa174



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56 Можешь помочь ? Делаю как ты сказал, но возникает вопрос: "Как распаковать rar после всего этого?" Распаковка .arc происходит, восстановление .pcf тоже(после FreeArc), мне нужно только добавить распаковку .rar

Всего записей: 177 | Зарегистр. 26-03-2010 | Отправлено: 07:14 08-06-2010
vint56



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
duxa174 лутше используй 7z без сжатия а вод код для распаковки 7z  
 

Код:
[Files]
Source: unpack.exe; DestDir: {tmp}
procedure CurStepChanged(CurStep: TSetupStep);
var
  res:Integer;
  app, arc, dest:string;
begin
If CurStep=ssPostInstall
then
begin
WizardForm.StatusLabel.Caption:='Идет востоновления файлов. Пожалуйста подождите 10%'
  app:=ExpandConstant('{tmp}')+'\unpack.exe';
  arc:=ExpandConstant('{app}')+'\iw_00.7z';
  dest:=ExpandConstant('{app}');
 // Exec(app, 'x "'+ arc + '" -y -o"'+ dest + '"', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res); // чтобы показывало распаковку
  Exec(app, 'x "'+ arc + '" -y -o"'+ dest + '"', '', SW_Hide, ewWaitUntilTerminated, res);    // не показывало  
  DeleteFile(ExpandConstant('{app}\iw_00.7z'))   // после востоновления удаляются
end;
end;


Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 07:48 08-06-2010 | Исправлено: vint56, 07:49 08-06-2010
duxa174



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vint56 Эх... Я уже с раром всё сделал . Не мог бы всё таки дать с раром?

Всего записей: 177 | Зарегистр. 26-03-2010 | Отправлено: 08:13 08-06-2010
vint56



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

Код:
[Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Files]
Source: UnRAR.exe; DestDir: {app}; Flags: deleteafterinstall
Source: archive.rar; DestDir: {app}; Flags: deleteafterinstall nocompression
[Run]
Filename: {app}\UnRAR.exe; WorkingDir: {app}; Parameters: "x -O+ archive.rar ""{app}\"; Flags: waituntilterminated runhidden; StatusMsg: Идет распаковка архива 10%

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 08:57 08-06-2010
duxa174



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

Всего записей: 177 | Зарегистр. 26-03-2010 | Отправлено: 09:02 08-06-2010
Profrager



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

Цитата:
я тебе говорю я не забываю дописовать  просто в 0.40 есть косяк или баг или еше что входяший и выходяший равен одинаково  
precomp -slow  iw_00.iwd вот я как делаю и он не находил ZLib заголовки в файлах хотя они там есть. а в 0.38 версий такого нету она нормально работает вот почему она лутше

Значит мне повезло, что я с этим не сталкивался) И надеюсь и не столкнусь

Цитата:
Эх... Я уже с раром всё сделал . Не мог бы всё таки дать с раром?

может в ISDone.dll еще и rar добавить

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



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

Всего записей: 1277 | Зарегистр. 07-10-2008 | Отправлено: 11:03 08-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