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

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

Модерирует : 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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156

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

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Часть 1 | Часть 2 | Часть 3


Скачать последний релиз - FreeArc 0.666 от 20 мая 2010 г. Что нового: ускорение работы в 1.5-2 раза благодаря новой технологии многопоточного сжатия, распаковка архивов многих форматов используя технологии 7-zip, запуск файлов из архива, исправлены все проблемы интеграции с Explоrer (подробнее)
Текущая альфа версия: 0.67 - загрузка | список исправлений | блог


Подробное описание используемых алгоритмов
Почему он сжимает лучше и быстрее, чем 7-zip/rar...
Результаты тестов, подтверждающие его крутизну...
Почему для использования 2+ гб памяти желательно установить 64-битную версию Windows
Планы дальнейшего развития
Что подразумевается под "интеграцией с Explorer"
Старая FreeArc wiki (включая описание формата архива)
Логотип и иконки FreeArc - обсуждение того, как облагородить внешний вид программы


Сторонние оболочки для работы с FreeArc:
wArc - простая и понятная программа управления архивами (требует .NET Framework 2.0)
PeaZip - менеджер архивов с поддержкой большого количества форматов, для Windows и Linux


Родственные темы:
Inno Setup плюс внешние упаковщики - использование архивов FreeArc в инсталяторах
ISDone.dll - библиотека распаковки архивов в инсталяторах
REP & SREP
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - "а как сжать ещё лучше?"
FreeArc и Unix - для альтернативно одарённых
• репозиторий FreeArc 'Next на github.com
• тема FreeArc 'Next на форуме encode.su
• раздел FreeArc на форуме krinkels.org

 
Другие архиваторы:
WinRAR
7-zip
PowerArchiver
HaoZip
BandiZip


Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 11:36 23-11-2010 | Исправлено: Release, 10:58 24-04-2023
egor23



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

Цитата:
добавил, но тесты завтра утром планирую запустить

1000 проходов (распаковка srep и rar) ничего не дали

Цитата:
кстати, напиши свой тестовый скрипт. оставил на ночь вот такой:

Читать дальше..

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 14:20 04-03-2011 | Исправлено: egor23, 14:28 04-03-2011
WARP_ItSelf

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу прощения, вопрос (автору). Как автор одного из архивных плагинов под Far Manager (newarc) интересуюсь наличием исходного кода freearc.fmt. А поскольку newarc умеет несколько больше, интересуюсь также "где почесать" для извлечения файлов и их добавления во freearc архивы. Будет прекрасно, если средствами "чистого" кода или с помощью некой dll от freearc. Ну, если простые методы существуют. Или объяснят сложные.
 
Спасибо.

Всего записей: 64 | Зарегистр. 20-10-2004 | Отправлено: 14:29 04-03-2011
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
WARP_ItSelf
1. скачиваешь исходники 0.67 а ещё лучше берёшь с svn
2. читаешь readme.txt и настраиваешь среду компиляции
 
исходники fmt в каталоге Unarc, и для их компиляции достаточно c++, компилятор хаскела не нужен. там же есть код распаковки, можно поколдовать над исходниками чтобы добавить в fmt FreeArcExtract либо вызывать его снаружи из unarc.dll
 
для сжатия тебе понадобится freearc.dll. обращаться к ней несложно, но это 3 мб. такое устроит?
 
Добавлено:

Цитата:
1000 проходов (распаковка srep и rar) ничего не дали  

это старый srep???
 
итак, мои результаты: дважды оставлял на пару часов srep 2.95. оба раза на первом часу было 1-3 сбоя, на втором портился дисковый кеш после чего естественно начинало сбоить на каждой распаковке
 
на ночь оставил srep 2.91, и он отработал без ошибок, за ночь разжав порядка 7->22 терабайта!!
 
в общем, пока похоже на проблему в моём memory manager, при этом он исправен но стиль его работы возбуждает какое-то брожение в глупой винде

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 14:49 04-03-2011
egor23



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

Цитата:
это старый srep???

2.95, т.к. он не вызвал сбоев, то тестировать 2.91 бесмысленно.

Цитата:
в общем, пока похоже на проблему в моём memory manager, при этом он исправен но стиль его работы возбуждает какое-то брожение в глупой винде

если учесть что у нас разные OS, то утверждение спорное, хотя теоретически может быть хронический баг, но сомнительно.

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 15:03 04-03-2011
Bulat_Ziganshin

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

Цитата:
нашёл причину, стоял пробел перед секцией:
пробелExternal compressor:srep
какой нежный unarc оказался  

согласен, надо делать проверку синтаксиса в arc.ini
 

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

3 повторов достаточно, я попробую
 

Цитата:
кстати 2.95 в связке с arc.exe фигня получается, должен получится архив 74МБ, а получается 40МБ.
 
причём в temp как раз создаётся файлик 74МБ, но на выходе получае 40МБ  

ничего не понял

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 15:20 04-03-2011
Alexander865



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin
 
Писал тебе на почту, продублирую тут свой вопрос. Ответь где тебе удобнее.
 
Мне нужно немного модифицировать поведение скрипта, который управляет
самораспаковывающимися архивами.
 
Скрипты как я уже понял от InnoSetup. Но вот какой формат у файла freearc-
 
installer.sfx ?
 
Это явно не текстовый скрипт. Я вчера с ним провозился довольно долго. Так ничего и  
 
не понял в конечном итоге.  
 
Вообщем вопрос в следующем - где мне взять исходный текстовый скрипт от файла  
 
freearc-installer.sfx с целью его незначительной модификации под свои нужды?
 
И как этот скрипт потом скомпилировать в sfx-модуль, с которым мог бы работать  
 
FreeArc?

Всего записей: 12 | Зарегистр. 04-03-2011 | Отправлено: 15:22 04-03-2011
egor23



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

Цитата:

Цитата:
 
кстати 2.95 в связке с arc.exe фигня получается, должен получится архив 74МБ, а получается 40МБ.

 

Цитата:
причём в temp как раз создаётся файлик 74МБ, но на выходе получае 40МБ  

 
ничего не понял

Результат получается битый, т.е. архив должен был получиться 74МБ, а получился 40Мб
причём в папке темр временный файл получается 74МБ, т.е. srep отрабатывает правильно, а вот в архив попадают не все 74МБ, а только 40МБ.

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 15:35 04-03-2011
Bulat_Ziganshin

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

Цитата:
Но было бы не лишним реализовать поиск консольных декомпрессоров рядом с самой дллкой или arc.ini, а не в WINDOWS\System32, как сейчас происходит.

они ищутся в PATH. учитывая, что там общий механизм для arc/freearc/sfx/dll, мне кажется что лучше так его и оставить, и просто добавлять нужный каталог в PATH перед началом распаковки. вы на уровне скриптов это можете сделать?
 
Добавлено:

Цитата:
Результат получается битый, т.е. архив должен был получиться 74МБ, а получился 40Мб
причём в папке темр временный файл получается 74МБ, т.е. srep отрабатывает правильно, а вот в архив попадают не все 74МБ, а только 40МБ.

оно повторяемо? я сейчас смотрел исходники freearc - там сейчас нет проверки успешного завершения, я её добавлю и посмотрим что выйдет

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 15:57 04-03-2011
egor23



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

Цитата:
оно повторяемо?  

да повторяемо

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 16:05 04-03-2011
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
slech
ответил в http://forum.ru-board.com/topic.cgi?forum=4&topic=3691&start=0&glp
 
все, кому небезразличен внешний вид freearc - подписывайтесь на эту тему и выдвигайте свои предложения
 
Добавлено:

Цитата:
Вообщем вопрос в следующем - где мне взять исходный текстовый скрипт от файла  
freearc-installer.sfx с целью его незначительной модификации под свои нужды?  

ок, начнём с нуля. это программа на c++, никакого отношения к Inno она не имеет
 
твои вопросы свидетельствуют что ты не сориентировался в теме. попробуй создать обычный sfx (с freearc.sfx), выполни его, затем вручную выполни в распакованном каталоге setup.exe и вручную сотри его. если результат будет тот, что тебе нужен - я сделаю для тебя модифицированный freearc.sfx
 
freearc-installer.sfx тебе вряд ли нужен, поскольку он распаковывает даные во временный каталог. или ты их собираешься затем в setup.exe копировать куда тебе нужно?

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 16:22 04-03-2011
Sig666

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

Цитата:
вы на уровне скриптов это можете сделать?

Я думаю насчет SetCurrentDirectory в скрипте. Это нормально будет?

Всего записей: 134 | Зарегистр. 15-01-2008 | Отправлено: 16:44 04-03-2011
Bulat_Ziganshin

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

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 16:53 04-03-2011
egor23



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

Цитата:
оно повторяемо?  

Сейчас глянул, началось всё с 2.93
и ещё "через раз" упаковка проходила цспешно
 
Читать дальше..

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 16:55 04-03-2011
Alexander865



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin
 
Мне нужен модуль, который работает так. Объясню на примере:
 
1) Имеем файл MyArchive.exe
2) Кликаем по нему - он создаёт рядом с собой папку со своим именем. Т.е. в данном случае создаёт папку MyArchive
3) В неё распаковывает всё содержимое, запускает setup.exe
4) После того как setup.exe отработает, удаляет setup.exe (остальные распакованные файлы не трогает)
 
Про InnoSetup я спросил потому что где-то в архивах форума откопал твою фразу:
 
"никаких параметров нет. просто цепляете эти модули вместо обычных и будет вам запущен setup.exe. если нужно что-то большее - то берёте модуль для innosetup и кустомизируете его"
 

Всего записей: 12 | Зарегистр. 04-03-2011 | Отправлено: 16:59 04-03-2011
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexander865
можешь объяснить почему остальные файлы не трогать? до меня никак не доходит какой в этом смысл. установка обычно идёт куда-то в program files
 
модуль для is находится на http://freearc.org/ru/InnoSetup.aspx и никакого отношения к sfx не имеет. этот модуль - как раз инструмент для любых специфичных инсталяторов, хотя для твоей задачи мне несложно сделать и спец-sfx
 
Добавлено:
egor23
я лично их этого лога скорее сделал бы выводы, что иногда оно пакует верно, иногда обрезает, а иногда сообщает об ошибке вне зависимости от версии
 
но вообще, что проблемы начались с 2.93 - вполне достоверно, именно в ней появился отдельный поток i/o, хотя мне и казалось, что программа выходит только после записи последнего блока, но я это перепроверю

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 17:04 04-03-2011 | Исправлено: Bulat_Ziganshin, 17:10 04-03-2011
egor23



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin
и напоследок
 
Читать дальше..
 
Добавлено:

Цитата:
и напоследок

небольшие расхождения в цифрах, т.е. неплохо бы выводить цифры и во время Second pass:
 
Добавлено:

Цитата:
оно повторяемо?  

и это касаемо такой секции
 
[External compressor:srep]
;options  = l%d (minimal match length, default=512)
packcmd   = srep {options} -temp=srep.tmp - - <stdin> <stdout>
unpackcmd = srep -d - - <stdin> <stdout>

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 17:28 04-03-2011
Profrager



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

Цитата:
Я думаю насчет SetCurrentDirectory в скрипте. Это нормально будет?

Цитата:
Sig666
это не поможет. при вызове внешнего распаковщика создаётся временный каталог и вызов производится в нём - на случай ели он создаёт какие-то временные файлы
мне, помнится, помогало, когда пробовал распаковку srep без stdin/stdout. Может сейчас уже что-то по-другому работает.

Цитата:
и просто добавлять нужный каталог в PATH перед началом распаковки.  
имхо не вариант. Так сказать, не user-friendly решение проблемы.

----------
переехал сюда

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



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

Цитата:
можешь объяснить почему остальные файлы не трогать?

 
Ну вот такая вот дурацкая инсталляция нужна) Просто уже заточено под привычные нужды. документация должна остаться в текущей папке - куда всё было распаковано. А setup.exe уже инсталлирует что надо и куда надо.
 
и я немного неточно указал алгоритм. Нужно так:
 
1) Имеем файл MyArchive.exe  
2) Кликаем по нему - он создаёт рядом с собой папку со своим именем. Т.е. в данном случае создаёт папку MyArchive  
3) setup.exe распаковывается во временный каталог (TEMP) - чтобы пользователь не видел его. Всё остальное распаковывается в папку MyArchive
4) Из временного каталога запускается setup.exe и удаляется после того как завершится.  
 
Буду благодарен, если сделаешь такой модуль или подскажешь как сварганить его самостоятельно.

Всего записей: 12 | Зарегистр. 04-03-2011 | Отправлено: 18:10 04-03-2011
Bulat_Ziganshin

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

Цитата:
 setup.exe распаковывается во временный каталог

вот это уже сложнее. и извини, я теперь не понимаю - как setup.exe узнает где остальные файлы находятся? или они ему и не нужны?

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 18:16 04-03-2011
egor23



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

Цитата:
3 повторов достаточно, я попробую

и статистику ошибок приделайте заодно, чтобы было видно были они или нет

Всего записей: 3832 | Зарегистр. 03-11-2003 | Отправлено: 18:18 04-03-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156

Компьютерный форум Ru.Board » Компьютеры » Программы » FreeArc (часть 4)


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru