![]() |
eXeL@B —› Софт, инструменты —› Inno Setup XDELTA Patch Maker |
Посл.ответ | Сообщение |
|
Создано: 11 января 2015 13:31 · Поправил: Kindly · Личное сообщение · #1 Не знаю, кому может понадобиться такая тулза, но закодить ее хотел уже давно. Это патчер на движке xdelta, аналог таких программ как: PatchWise Free, Clickteam Patch Maker, Visual Patch. Эти программы генерируют массивы изменений и служат для обновления большого количества файлов, так называемые Updates. Многие такие программы уже не развиваются и имеют свои недочеты (цена, баги, отсутствие фишек). Такую фичу я когда-то предлагал diablo2oo2 и Watсher-у, но так это и осталось перепиской. Итак, программа использует технологии Inno Setup, собственно, на нем и написана. Более детальная информация находится в хелпе. Inno Setup XDELTA Patch Maker 2.6.2.4 ----- Array[Login..Logout] of Life ![]() |
|
Создано: 19 февраля 2015 20:43 · Личное сообщение · #2 [Release v1.1] - Added internal cleaning patch-data feature before building (not required to clear previous patch-data manually). - Added feature "Batch Script" to Insert Custom Actions. - Added external files support for custom script operations (batch-files will be executed from the dir with the external files). - Added Form bitmap Width/Height check in browse dialog. - Added transparent window settings feature to patch skin tweaks. - Added check for ' character for all selected resource files (if you want to use ' character in string names, please set doubled '' f.e. My ''Cool App''). - Updated VclStylesinno.dll to 1.4.1.0 - Minor tweaks, fixed some issues. ----- Array[Login..Logout] of Life ![]() |
|
Создано: 19 февраля 2015 22:42 · Личное сообщение · #3 На правах багрепорта ![]() Вот так выглядит на винде с увеличенным dpi. ![]() ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! ![]() |
|
Создано: 19 февраля 2015 23:15 · Поправил: Kindly · Личное сообщение · #4 GPcH пишет: Вот так выглядит на винде с увеличенным dpi. спасибо, не учел свойства ScaleX and ScaleY для dpi, будет перелопачено и исправлено. добавлено 21.02.2015 [Release v1.2] - Fixed GUI bug with high or medium dpi settings and font resize (thx to GPcH). - Optimized Text Scroller and strings scaling. - Removed custom BMP feature (it have some problems with font resizing and high dpi settings). - Minor tweaks, fixed some issues. ссылки в шапке обновлены. багов вроде больше нет, кажись финал ![]() ----- Array[Login..Logout] of Life ![]() |
|
Создано: 23 февраля 2015 17:16 · Личное сообщение · #5 |
|
Создано: 24 февраля 2015 22:14 · Личное сообщение · #6 [Release v1.3 Final] - Fixed (in Patch) returned first drive in TFolderTreeView to the InstallPath field after patching while patch form is activated again. - Changed xcopy executing while using external files: previously it call system command "xcopy", now it execute xcopy.exe from system directory by default. - Minor tweaks. ----- Array[Login..Logout] of Life ![]() |
|
Создано: 03 мая 2015 19:55 · Поправил: Kindly · Личное сообщение · #7 чейнджлог предыдущих версий Code:
----- Array[Login..Logout] of Life ![]() |
|
Создано: 08 мая 2015 13:34 · Личное сообщение · #8 [Release v1.6] - Changed Patch lzma compression settings to lzma2 for faster temporary files extraction. - Removed some codejock styles which are detect as viruses and some vcl skins also. - Added preview skin feature to Patch Skin Tweaks - after skin was selected push [P] button for a 5 second preview. - Added for patch background music [P] and [S] buttons for playing and stopping selected music file. - Patch GUI customization (now ready to translation) and code improving. - Added multilanguage patch feature - now you can translate English.ini in LANG dir and send unexisted translation to me for include it in the next updates. - Removed InfoVersion edit. - Added Russian translation (tnx to leonid). - Minor tweaks. ----- Array[Login..Logout] of Life ![]() |
|
Создано: 14 мая 2015 11:31 · Поправил: Kindly · Личное сообщение · #9 Дабы подвести кое-какие итоги отмечу, что проект с моей точки зрения завершен. Функциональная часть по специфике данной программы реализована. Наконец создана и переведена chm справка. Если и будут обновления, то мелкие, например, обновление библиотек или движка. За обновлениями нужно будет следить самостоятельно кому интересно, постить о новой версии не буду, только обновлять шапку если что, дабы не плодить кучу своих постов. Code:
[Release 1.9.9.7] ... [Release 1.9.9.8] ----- Array[Login..Logout] of Life ![]() |
|
Создано: 29 октября 2015 22:22 · Личное сообщение · #10 Kindly, Приветствую. ![]() Хотелось бы в следующей версии узреть функцию указания папки для распаковки файлов. Сейчас все файлы для патча распаковываются в {tmp}, а хотелось бы что бы была возможность выбора между {tmp}, {app} или {src}. Тк не всегда получается использовать временную папку. Например если патч весит более 4Гб (патч на postgresql БД), а на удаленном серваке весь системный раздел занят под систему (мускул находится на другом разделе). Соответственно будет всегда ошибка о нехватке места. В inno не сообразил как сделать, ибо распаковка из code секции возможна только стандартной функцией ExtractTemporaryFiles. ![]() |
|
Создано: 29 октября 2015 23:04 · Поправил: Kindly · Личное сообщение · #11 salat-production Хай. Изучи справку внутри help_ru.chm, там есть возможность юзания патч-файлов рядом из src папки без распаковки. {app} не юзается, поскольку сугубо инновская константа, которая имеет эффект только после начала ее родной установки. Вместо {app} сделана самопальная константа ResultStr, о ней тоже в справке написано ![]() Если справка открывается пустой, вот решение: Ну и пользуясь случаем, сделаю анонсик новой 2.0.0.0 версии, что будет или должно быть: Code:
То что с ! уже сделано, остальное пилится в порядке очереди, когда выйдет не знаю, даже не знаю еще как воплотить все из задуманного ![]() ----- Array[Login..Logout] of Life ![]() |
|
Создано: 30 октября 2015 19:04 · Личное сообщение · #12 |
|
Создано: 30 октября 2015 20:12 · Поправил: Kindly · Личное сообщение · #13 salat-production пишет: Хочется конечно запаковывать и выбирать путь для распаковки. Приведи аргументы, что это не лишние движения, и что есть от этого определенная польза. Если патч весит целиком 4Gb, к примеру, то если опция Inside Patch при сборке отмечена, то он есно будет извлекать все патч-данные во временную директорию, что вызовет возможный лимит свободного места, этого и не рекомендуется делать при обновах более 150-200Mb. Если же не ставить галку, то патч-данные не будут запаковываться, а будут лежать рядом с патчем и подхватываться напрямую без лишних извлечений. Юзер извлечет архив с патчем и его данными в ту папку, в которую он посчитает нужным, где у него есть место и запустит оттуда. Зачем ему при этом извлекать куда-то патч-данные, если они и так могут быть доступны рядом с патчем? Зачем патчу в 4Gb срать дополнительно по какому-то пути эти самые 4Gb, когда можно пропатчить напрямую? salat-production пишет: А пока применяю патчи через самопальный батник можно подумать он у тебя куда-то извлекает патч-данные перед применением ![]() ----- Array[Login..Logout] of Life ![]() |
|
Создано: 31 октября 2015 00:06 · Поправил: salat-production · Личное сообщение · #14 Да с опциями софтины я разобрался и вкурил как что работает. Зачем патчу в 4Gb срать дополнительно по какому-то пути эти самые 4Gb, когда можно пропатчить напрямую? Вот отсюда следует ответ на можно подумать он у тебя куда-то извлекает патч-данные перед применением Да извлекает. В {app} указанную через inno ![]() И кстати не вникал как у тебя проверяется хеш, через стандартную функцию в патч-утилите или через стороннюю, но через bincomp это происходит в два раза быстрее. (Чет сайт куда то пропал разраба, сюда прикреплю на всякий случай для ознакомления) ![]() ![]() |
|
Создано: 31 октября 2015 00:33 · Поправил: Kindly · Личное сообщение · #15 salat-production по работе проги пиши лучше в личку. salat-production пишет: Да извлекает. В {app} указанную через inno . для этого можно делать Silent патчи и так же извлекать из Inno или любого другого инстяллятора, используя параметры командной строки для патча, а можно просто запускать с Manually > {src}, тогда инсталл извлечет тихий патч с его патч-файлами и запустит его откуда надо ![]() salat-production пишет: И кстати не вникал как у тебя проверяется хеш, через стандартную функцию в патч-утилите или через стороннюю, но через bincomp это происходит в два раза быстрее. спасибо, гляну, что за утиль. у меня md5 лист в ini потом сверяется, для больших файлов медленновато (есть мысль на потом crc32 прикрутить), но зато 100% гарантия что все цело, можно и вообще верификацию не юзать, тогда будет быстрее, если уверен во всем, кстати xdelta 3.0.10 не справляется в некоторых тестах на очень больших файлах, лучше 3.0.8 юзать. bincomp.exe утиль, возможно, и хорошая, но у меня проверки более масштабные, когда генерируются измененные файлы, по любому хэши должны для них записываться для последующих проверок в патче. да и проверил я типо: Code:
вобщем утиль медленная, обычный md5 быстрее на несколько десятков порядков. Code:
----- Array[Login..Logout] of Life ![]() |
|
Создано: 30 ноября 2015 15:32 · Поправил: Kindly · Личное сообщение · #16 |
|
Создано: 27 января 2018 01:32 · Поправил: dosprog · Личное сообщение · #17 salat-production пишет: через bincomp это происходит в два раза быстрее. (Чет сайт куда то пропал разраба, сюда прикреплю на всякий случай для ознакомления) [offtop] Кстати, добавлен такой же функционал в [/offtop] ![]() |
|
Создано: 08 апреля 2019 10:39 · Поправил: Kindly · Личное сообщение · #18 вкратце: сделанный на Inno Setup патч-мейкер для разных типов файлов на основе стабильных версий движков Xdelta, JojoDiff, HDiffPatch, кушает любые адекватные размеры, отлично подходит для обновлений ПО, игр и прочих приложений на Win32/64 платформе, имеет различные настройки, поддержку скриптов и прочие функции. бесплатен. единственный адекватный платный конкурент это Visual Patch от Indigo Rose, но он не поддерживает обработку файлов более 2 гигабайт, что по теперешним меркам полное фиаско. остальные программы подобного рода давно устарели и неподдерживаются. (и таки да, это совсем не крякерского типа патчер как dUP, uPPP и подобные) [Release 2.6.2.4] Последняя актуальная версия по ссылке в первом посте. ----- Array[Login..Logout] of Life ![]() |
![]() |
eXeL@B —› Софт, инструменты —› Inno Setup XDELTA Patch Maker |