Profrager
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Выкладываю несколько наработок в области Inno+Srep+Precomp+Freearc Делал для себя, но вот решил выложить чуть измененный unarc.dll версии 0,666 для InnoSetup, который ищет файлик arc.ini не в "C:\", а в папке винды. Сделано для юзеров, у которых windows находится на диске, отличном от C:, а он сам (диск С:\) отсутствует в системе. unarc.dll for testing http://rapidshare.com/files/392154189/unarc.zip или http://ifolder.ru/17900935 Добавлено: На этом форуме видел скрипт и dll'ку для визуального отображения на прогрессбаре InnoSetup'а распаковки precomp'ом. Но его можно применять, если precomp'ом обрабатываются файлы до основной упаковки данных, да и версия, применяемая там 0.38, что не дает возможности эффективно обрабатывать вложенные ZIPы. Если же архивы созданы с параметрами что-то типа -mprecomp+rep+lzma, как делаю я, то тут возникает проблема при установке этого всего с помощью Inno и unarc.dll в виде черного окошка коммандной строки с выполныющейся там precomp04.exe (или precomp038.exe, не суть). Это не очень приглядно. Да, это окошко можно скрыть, но тогда будет выглядеть как будто установщик повис, что не раз упоминалось в этой и близлежащих по смыслу темах данного форума. По сему, опять же для себя, но выкладываю на всеобщее обозрение, сделал програмулину, которая используется при распаковке вместо штатного precomp04.exe и выводит на экране небольшое окошко с прогрессбаром и оставшимся временем текущей операции восстановления файлов. Это просто оболочка для precomp04.exe и packjpg_dll.dll, которая извлекает их в текущий каталог, затем запускает precomp04 со всеми параметрами переданными ей самой и отлавливает % выполнения операции, отображая ее на прогрессбаре. added Сделал чтобы прога хавала файлы от обоих версий: 0,38 и 0,4. Версию выбирает автоматом по входному файлу. Использовать можно ТОЛЬКО для распаковки данных. Все dll'ки находятся внутри, так что не надо таскать zlib1.dll и packjpg_dll.dll рядом, они сами распакуются при запуске и удалятся после завершения процесса. Precomp 0.38/0.4 версия test01 http://rapidshare.com/files/392679532/PrecompTEST01.zip http://openfile.ru/611748/ http://rghost.ru/1740828 Добавлено: Сделал такой же прогрессбар для srep'а v1.5 . Включил туда автоматическое определение разрядности винды (32/64) и использование srep'а оптимизированного под текущую версию. SRep версия test02 http://rapidshare.com/files/393002755/srepTEST02.zip http://openfile.ru/612444/ http://rghost.ru/1747188 Добавлено: Сделал dll аналогичную той, которую написал Vo1t для отображения процесса извлечения precomp'а на прогрессбаре InnoSetup'а. Но с использованием чтения данных с консольных precomp версий 0.38 и 0,4, соответственно с их достоинствами и недостатками. Какую использовать версию precomp'а dll выбирает сама, основываясь на входном pcf-файле. Файлы для репака обрабатывать обычным precomp'ом нужной версии. Пример скрипта прилагается. P.S. tnx to Vo1t added Исправил багу с пробелами в пути к входному и выходному файлу. ISPrecomp2 версия test02 http://rghost.ru/1758549 http://rapidshare.com/files/393502860/ISPrecomp2TEST02.zip | Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 23:18 27-05-2010 | Исправлено: Profrager, 19:01 31-05-2010 |
|