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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

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

Profrager



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

ISDone 0.4.2.5 (03.08.2010)
 
ISDone 0.5e beta (17.10.2010)
 
ISDone 0.5f beta (21.10.2010)
Изменения: небольшие поправки в коде и в скрипте.
 
ISDone 0.5g beta (22.10.2010)
Изменения:
-разделил скорость обновления окна инсталлера и инфы на нем (50 раз в сек обновление окна, 10 раз в сек обновление инфы на нем (вызов callback));
-убрал из RTConsole выставление приоритета своему процессу.
 
ISDone 0.5h beta (23.10.2010)
Изменения:
-сделал таймеры обновления окна и инфы малозависимыми друг от друга, и от других выполняемых операций (на разные потоки разбивать нельзя, потому как innosetup не умеет работать с потоками, отличными от того, который он сам создал, поэтому приходится извращаться) Обновление окна 50 раз/с, инфы - 15 раз/с.
 
ISDone 0.5i beta (30.10.2010)
Изменения:
-немного подкорректировал отображение второго прогресса в распаковке pcf "на лету";
-при задании нуля в поле для версии precomp'а в функции инициализации если не удается получить доступ к pcf-файлу, попытки открытия pcf-файлов для проверки версии теперь будут продолжаться до 1 секнуды. В случае если и в течение этой секунды доступ к файлу невозможен, выдается сообщение об ошибке чтения.
-из скрипта удалил давно забытую строку, выводящую проценты кроме созданного основного прогрессбара еще и на дефолтовый (хоть он и невидим на время установки).
 
ISDone 0.5j beta (06.11.2010)
Количество параметров и их тип в некоторых функциях изменилось, поэтому скрипт от предыдущей версии к этой бибилиотеке не подойдет!
Изменения:
-увеличил максимально возможное для использования в isdone количество компонентов с 32 до 96 (жаль inno не умеет передавать в функцию указатель на массив данных, а то можно было бы увеличить до бесконечности);
-поменял все строковые типы, приходящие из библиотеки в скрипт с AnsiString на PAnsiChar. По идее должна исправиться ошибка, возникающая на некоторых машинах, "Invalid pointer operation" (или ошибка 204);
-подкрутил немного счетчик обноввления окна.
 
ISDone 0.5k beta (06.11.2010)
Изменения:
избавился от всех глобальных переменных типа String в коде dll'ки. Под управлением Inno с ними изначально были проблемы, хотя если запускаю из-под управления своего exe'шника, никаких ошибок и глюков нет. Видимо у Inno его мини-виртуальная машина не дружит с подобными динамически создаваемыми объектами (хотя с GetMem норм все). Первое обращение к такому объекту проходит нормально, а с последующим - генерится ошибка. знать бы еще из-за чего..
В общем в данном случае избавился от ошибки при распаковке второго srep'а, и надеюсь от остальных подобных..хотя еще остались локальные переменные string..посмотрим как оно будет дальше.
 
ISDone 0.5L beta (21.11.2010)
Количество параметров и их тип в некоторых функциях изменилось, поэтому скрипт от предыдущих версий к этой бибилиотеке не подойдет!
Изменения:
-избавился от необходимости innocallback.dll, соответственно поменялся тип переменных в некоторых функциях;
-исправил ошибку, которая не давала распаковать rar-архивы, находящиеся в папке с русскими символами;
-исправил некорректное отображение при распаковке arc-архивов с русскими файлами внутри;
-исправил слишком высокие требования к входному файлу для 7zip (если торрент, к примеру, раздавал этот файл, то установка приложения, использующая этот файл, выдавала ошибку, типа не может открыть файловый поток);
-исключил всякую задержку на ожидание завершения потока распаковки для всех функций (переход между распаковками теперь без паразитных задержек).
 
ISDone 0.5m beta (05.12.2010)
Изменения:
  • заменил стандартную распаковку srep на свою оптимизированную версию. При распаковке небольших srep-архивов (где не оказывает влияния скорость операций ввода/вывода винта) на 2х-ядерных и более процессорах скорость обработки в 2 раза выше, на 1-ядерных - на 15-25% (оптимизировал алгоритм md5 по скорости на 15-25% и саму функцию распаковки srep, перенёс проверку контр. суммы в параллельный поток, сделал подстраиваемый размер буфера под входные данные). При этом размер библиотеки уменьшился на 90кб. Данная фитча находится в режиме тестирования. При ошибках отписывайтесь в данной теме!(я тестировал в основном распаковку srep-архивов, упакованных с параметром -m3);
  • добавил функцию WrapCallback, аналогичную innocalback.dll, чтобы не таскать эту библиотеку, если необходима ее поддержка для других функций скрипта (в скрипте примера добавлена соответствующая строка импорта данной функции);
  • исправил некорректное движение прогресса при распаковке *.pcf файлов (после распаковки некоторого количества файлов, он начинал двигаться рывками);
  • обновил библиотеку 7zxa.dll до версии 9.20;
  • обновил библиотеки unarc.dll и facompress.dll до версии 0.67а от 17.11.2010г.

 
ISDone 0.5n beta (12.12.2010)
Изменения:
  • устранил ошибку контрольной суммы, возникающую в самом конце распаковки некоторых srep-файлов;
  • исправил некорректное отображение прогресса при распаковке архивов с маской типа *.arc со включенной опцией распаковки pcf на лету;
  • уменьшил время обновления оставшегося времени с 1 сек до 0.5 сек.

 
Всем спасибо за тестирование библиотеки!
 
ISDone.dll v0.5 final

 
Включает в себя модули(функции) для распаковки
ISArc   - распаковка arc-архивов
IS7Zip   - распаковка 7zip-архивов
ISRar   - распаковка rar-архивов
ISPrecomp - распаковка Precomp версий 0.38 и v0.4
ISSRep  - распаковка SRep v2.0 (и младше)
 
ИЗМЕНЕНИЯ В МОДУЛЯХ (относительно v 0.4.2.5)ОБЩЕЕ:
  • добавлен подсчет оставшегося, прошедшего и общего времени распаковки с возможностью выбора типа их отображения и отображением % и оставшегося времени на панели задач;
  • во всех функциях распаковки реализована групповая распаковка архивов по маске файлов с возможностью так же сканировать и все подкаталоги;
  • добавлен второй прогрессбар для отображения прогресса текущей операции;
  • написан более подробный readme к библиотеке. Для более удобного использования скомпонован и откомпилен в chm, за что спасибо Krinkels;
  • добавлена проверка на наличие необходимой для распаковки свободной оперативной памяти;
  • уменьшен размер dll на 55кб. Спасибо daemon за подсказку
  • при этом стало возможным избавиться от всех рандомных ошибок, возникавших ранее (появилась возможность поставить другой менеджер памяти вместо штатного delphi);
  • при перелопачивании кода исправлены некоторые мелкие баги, которые еще не успели вылезти;
  • разделены обновление окна инсталлера (50 раз в сек) и инфы на нем (15 раз в сек);
  • (надеюсь) исправлена ошибка, иногда возникающая в RTConsole при распаковке кучи pcf файлов (благодарю troyan90 за багрепорт);
  • перевел все строковые типы, приходящие из библиотеки в скрипт, с AnsiString в PAnsiChar. Должны пофикситься иногда возникающие на некоторых машинах ошибки "Invalid pointer operation" (или ошибка 204);
  • увеличено максимально возможное количество используемых компонентов до 96 (подробнее в справке в описании работы скрипта);
  • исключил потери времени при переходе между функциями распаковки;
  • избавился от необходимости библиотеки innocallback.dll;
  • добавил функцию wrapcallback, аналогичную innocallback.dll, чтобы не таскать эту библиотеку, если для других частей скрипта все же требуется эта функция.
Unarc модуль (ISArcExtract):
  • обновлен unarc.dll до версии 0,67a (от 17.11.2010);
  • к файлам инсталлера добавлена опциональая библиотека facompress.dll, предназначенная для ускорения распаковки .arc архивов на 10-20%. За содействие и возможность подобной реализации, да и вообще за все труды, большое спасибо Булату;
  • добавлена возможность распаковывать .pcf файлы "на лету". Т.е. как только файл с расширением .pcf распаковывается из arc архива, он тут же обрабатывается precomp'ом, а затем распаковка arc-архива продолжается (Пока параллельную распаковку не стал делать). И пока она на стадии тестирования, потому на 100% работоспособность не гарантируется;
  • исправлено некорректное отображение при распаковке файлов с русскими именами.
7ZIP модуль (IS7ZipExtract):
  • обновлена 7z.dll до версии 9.20b
  • какой-то рандомный баг был, прерывающий распаковку 7z архивов. Исправился автоматом при смене менеджера памяти;
  • еще благодаря Ultra исправлен баг с закрытием распакованных файлов после извлечения (они не закрывались до завершения всего процесса установки, что не давало доступа к ним из других функций);
  • исправлена ошибка, возникающая при открытии 7z-архива, если он уже используется какой-либо программой.
Precomp модуль (ISPrecompExtract):
  • для уменьшения потерь времени убрана проверка наличия необходимых файлов для распаковки;
  • так же для уменьшения потерь теперь можете отключить проверку pcf файлов на валидность, но тогда при инициализации указывается используемая версия (0,38 или 0,4). В скрипте примера версия ставится в соответствии с тем, кокой из #define Precomp038 или #define Precomp04 указан в начале скрипта.
SRep модуль (ISSrepExtract):
  • заменена стандартная функция распаковки srep архивов на ассемблерно-оптимизированную, так же с некоторой оптимизацией самого алгоритма, что дало выигрыш в скорости на 2х-ядерных и более системах в 2 раза, на одноядерных - на 15-25% (без учета затрат на операции ввода/вывода). При этом размер библиотеки уменьшился на 90кб;
  • добавлено отображение ошибок.
RAR модуль (ISRarExtract):
  • исправлена ошибка, возникающая при распаковке архивов, находящихся в папках с русскими именами;
Скрипт:
  • добавлен пример создания записей в реестре, создание иконок, запуск установки дополнительного ПО с игнорированием этого всего, если в процессе распаковки возникла ошибка;
  • добавлено определение #define SecondProgressBar, включающее второй прогрессбар;
  • обновление окна убрано в библиотеку, что позволило вырезать из скрипта десяток строк лишнего кода;
  • некоторые фенечки в скрипте добавлены Nik1967.

 
Ссылки:

http://rghost.ru/3822959
 
 
 
ISDone.dll v0.6b beta

 
Включает в себя модули для распаковки
ISArc   - распаковка arc-архивов
IS7Zip   - распаковка 7zip-архивов
ISRar   - распаковка rar-архивов
ISPrecomp - распаковка Precomp версий 0.38, v0.4 и v0.41
ISSRep  - распаковка SRep v2.95 (и младше)
XDelta3  - распаковка diff-файлов, созданных xdelta3.exe
PazkZIP - упаковка данных в стандартные zip-архивы
Exec(включает Exec2, ISExec, ISFindFiles, ISPickFilename, ISGetName, ISFindFree) - запуск и контроль внешних приложений
 
ИЗМЕНЕНИЯ В МОДУЛЯХ (относительно v 0.5 final)[b]ОБЩЕЕ:
  • парсинг строки входного файла, поиск файлов по маске и сортировка во всех функциях теперь не ступорит окно инсталла при большом количестве входных файлов.
Unarc модуль (ISArcExtract):
  • обновлен unarc.dll до версии 0,67a (от 18.03.2011), что дало возможность корректно отображать прогресс при распаковке архивов со srep внутри алгоритма сжатия FreeArc. Прилично увеличивается скорость распаковки srep+lzma архивов;
  • добавлен параметр для распаковки конкретной папки из архива.
Precomp модуль (ISPrecompExtract):
  • добавлена поддержка precomp 0.41 версии;
  • все версии precomp'а собраны в единые exe, чтобы постоянно не таскать с собой их dll'ки;
  • изменен принцип чтения текущего состояния прогресса с консоли precomp (прогресс стал более плавный). Теперь требуется использование именно данных в архиве версий precomp'а;
  • добавлены варианты precomp'а без использования библиотеки перепаковки jpg (precomp_noJPG.exe. Заменять обычные precomp.exe соответствующих версий). Немного уменьшает размер инсталла, но при наличии в pcf-файлах перепакованных картинок в jpg может возникнуть непредвиденная ситуация. Для использвания данных кастрированных версий при создании pcf-файла желательно указывать параметр -t-j, чтобы отключить обработку jpg.
SRep модуль (ISSrepExtract):
  • добавлена поддержка 2.95 версии. Но все же на много эффективнее использовать srep -f + lzma внутри алгоритма архиватора FreeArc;
  • добавлена функция SrepInit, которая инициализирует некоторые параметры для распаковки srep-архивов как отдельных, так и тех, что внутри алгоритма freearc (автоматически правится arc.ini, указанный в соответствующем параметре команды ISArcExtract).
Exec модуль:
    Содержит функции:
  • Exec2 - замена обычному Exec в Inno. Просто запускает указанное приложение, и ожидая его завершения оставляет "живым" окно инсталла;
  • ISExec - запускает указанное приложение с необходимыми параметрами с плавным отображением прогресса. Время выполнения считается либо автоматически на основе тестового прохода и времени выполнения предыдущих операций, либо задается вручную, как и процент текущей операции относительно общего прогресса. Чем дальше от начала установки, тем точнее отображение прогресса. При желании есть возможность убрать плавность изменений значений и сделать прогресс "скачущим";
  • ISFindFiles - ищет и создает сортированный список файлов по указанной маске. Необходим для групповой распаковки файлов через внешние приложения (например подойдет для распаковки *.ogg, *.tak, *.bmf и т.д.);
  • ISPickFilename и ISGetName (чтобы обойти баг в Inno с типом переменной var PChar пришось делать 2 функции вместо одной) - берут очередной файл из списка, созданного командой ISFindFiles. Необходимы для задания парамтеров функции ISExec;
  • ISFindFree - очищает список файлов.
PackZIP модуль (ISPackZIP):
  • добавлен модуль упаковки указанных файлов в стандартный zip архив.
XDelta3 модуль (ISxDeltaExtract):
  • добавлен модуль распаковки xdelta3 diff-файлов.
Скрипт:
  • не помню уж, но много чего по мелочи менял .

 
Ссылки:

rghost.ru
rapidshare.com
 
Подробное описание работы и функций находится в файле readme.chm внутри архива.
 

Чтобы при выходе новой версии библиотеки сто раз не внедрять скрипт работы с isdone в свой, советую воспользоваться этой программой, или аналогичной ей (в Total Commander есть функция "Сравнить по содержимому..") для сравнения текстовых файлов. Закинуть на сравнение скрипт примера от предыдущей версии и новой, и она укажет какие строки поменялись. Соответственно затем в своём скрипте правим нужные строчки.
 

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 21:34 21-10-2010 | Исправлено: Profrager, 19:17 23-04-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » ISDone.dll


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru