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

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

Модерирует : 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

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

TCPIP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эта тема посвящена вопросам написания архиваторных плагинов для поддержки специфических архиваторов, отсутствующих в стандартных поставках multiarc-плагина для файл-менеджеров Total Commander, Double Commander и FAR.
Предполагается обсуждение возможности написания собственной универсальной мультиархиваторной оболочки для Win32/64 с поддержкой полноценной интеграции в Проводник и отвечающей современным стандартам архиваторных оболочек.
 
Multiarc - Homepage, Зеркало, более доступный интерфейс
Неофициальная 64-битная версия без изменений функционала оригинала
Последняя неофициальная версия, в т.ч. 64-битная (предыдущая версия)
Последняя beta версия 1.4.4.174 (13.05.2021), в т.ч. 64-битная (источник)
 
Для новичков:
Файл конфигурации для Multiarc от "TychoBarfys"
Некоторые архиваторы, поддерживаемые Multiarc подробнее
найденные решения аддонов
как увидеть какую командную строку передает multiarc архиватору: подробнее
 
Примечание.
Multiarc в Double Commander реализован не в виде отдельного плагина, а внедрен в код самой программы. Однако, хотя структура multiarc.ini несколько отличается - параметры несколько другие, некоторых команд, присутствующих в total-овском, нет, зато есть свои, большая часть команд и описаний форматов архивов идентичны. DC сам преобразовывает total-овский multiarc.ini в свой формат при сохранении. Настройки аддонов доступны из интерфейса самого DC. Описание структуры multiarc.ini имеется в оффлайн документации. Также возможно и применение отдельного Multiarc-а от Total-а.

Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 23:54 10-05-2005 | Исправлено: jentoso, 17:34 12-11-2025
destiny_child



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да ясно уже что тут как всегда виноваты мы сами, что мы не 1251, а 1252))))))))))
И вот по сути надо бы чтобы была опция работы плагина Multiarc с UTF-8 файлами-списками.
НО! и в распаковщике баг все равно есть! ОН там САМ должен удалять кавычки, если они вдруг
есть в списке, если уж они ему мешают. Не надо валить на нездоровых пользователей, мол, сами  
себе всё починят...

Всего записей: 5031 | Зарегистр. 01-04-2006 | Отправлено: 19:27 07-11-2025
jentoso



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny_child
А в FAR или Double Commander не пробовали?

Всего записей: 680 | Зарегистр. 25-10-2008 | Отправлено: 19:33 07-11-2025
destiny_child



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну как бы да.... в старых доступных исходниках плагина есть это:
int __stdcall OpenArchive(tOpenArchiveData* ArchiveData)
а по руководоству Гислера для поддержки Юникодных архивов/путей должно быть
int __stdcall OpenArchiveW(tOpenArchiveData* ArchiveData)
 
так что даже и не знаю - получается этим плагином теперь вот нет гарантии при использовании.
Ибо можем получить совсем не ту распаковку. А утилитой только напрямую пользоваться.
Через её GUI шную форму.
 
Добавлено:
А любой другой менеджер - а что толку? Это как другой архиватор. Ну стопудово распакует. Но у нас же вопрос/проблема с этим плагином...

Всего записей: 5031 | Зарегистр. 01-04-2006 | Отправлено: 19:53 07-11-2025
jentoso



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny_child
В Double Commander multiarc интегрирован и можно также подключить innounp. Да просто проверить, такой же эффект будет или нет.
Попробовал Double Commander, такое себе и ничего хорошего не вышло, даже хуже.
 
P.S. Как закрывается консоль multiarc, а то только полный выход из TC решает этот вопрос?

Всего записей: 680 | Зарегистр. 25-10-2008 | Отправлено: 20:41 07-11-2025 | Исправлено: jentoso, 21:19 07-11-2025
destiny_child



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, полный

Всего записей: 5031 | Зарегистр. 01-04-2006 | Отправлено: 22:01 07-11-2025
jentoso



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

Цитата:
ОН там САМ должен удалять кавычки, если они вдруг
есть в списке, если уж они ему мешают. Не надо валить на нездоровых пользователей, мол, сами  
себе всё починят...

Автор ответил на это

Цитата:
I intend to add an automatic removal of quotes in a file list for the next update.

Ждём-с...

Всего записей: 680 | Зарегистр. 25-10-2008 | Отправлено: 05:35 08-11-2025
destiny_child



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

Цитата:
Насчёт юникодности тоже уже было сказано, даже со ссылками на старые посты. Консоль заточена под однобайтную кодировку, и подавляющее большинство консольных приложений выводят текст именно в однобайтной кодировке. Соответственно и подавляющее большинство консольных архиваторов, для которых нет нормальных WCX-плагинов, являются древними и неюникодными или просто неюникодными, следовательно, переделывать MultiArc для добавления юникодности нет совершенно никакого смысла.

Это MVV на другом форуме оказывается писал...
Отсюда вывод - мы совсем не можем ориентироваться на работу этого плагина в суровых реалиях наступления Юникода.
Плагин всегда будет "ломаться" на тех файлах, где их внутренность будет поддерживать юникодные имена файлов/папок.
Он их будет выводить в ломаном виде. Или не выводить вовсе, потому как используемые доп.утилиты/аддоны к самому плагину - тоже по сути консольные проги - не будут выводить листинг в юникоде изначально.
 
Добавлено:
Т.е. для этой обновляемой утилиты скорее правильным делом было бы создание WCX плагина допом от самого автора, чтобы в Тотале можно было его прикрутить непосредственно для открытия "ехе" файлов с определенной байтовой маской начала файла, что определяет InnoSetup.

Всего записей: 5031 | Зарегистр. 01-04-2006 | Отправлено: 12:14 08-11-2025 | Исправлено: destiny_child, 16:38 08-11-2025
jentoso



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny_child
На wincmd подсказали пару конфигов

Код:
ExtractWithPath="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к дистрибутиву:\" \"Type in a password\" %PQA -x -m %AQA {@%lQ}"


Код:
ExtractWithPath="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к дистрибутиву:\" \"Type in a password\" %PQA -x -m %AQA @%LA"

Все прекрасно извлекается, за исключением конечно
 
 

Всего записей: 680 | Зарегистр. 25-10-2008 | Отправлено: 17:33 08-11-2025 | Исправлено: jentoso, 17:42 08-11-2025
Mrak_Tlen

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Оффтоп, но может кому кнопка нада.
 
TOTALCMD#BAR#DATA
%comspec% /c for /f "delims=" %a in
('type %WF') do "%%COMMANDER_PATH%%\Plugins\WCX\MultiArc\innounp.exe" -x -m -a -d"%%~na" "%%~a"
%COMMANDER_PATH%\Plugins\wcx\MultiArc\innounp.exe
Распаковать инсталлятор(ы) Inno Setup
 
1
-1

Всего записей: 68 | Зарегистр. 12-01-2024 | Отправлено: 19:44 08-11-2025 | Исправлено: Mrak_Tlen, 19:47 08-11-2025
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mrak_Tlen
А разве delims здесь нужен?

Всего записей: 20507 | Зарегистр. 04-11-2010 | Отправлено: 22:29 08-11-2025
jentoso



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
Тогда же вопросов не было по этому поводу http://forum.ru-board.com/topic.cgi?forum=5&topic=51517&start=300#13

Всего записей: 680 | Зарегистр. 25-10-2008 | Отправлено: 10:36 09-11-2025 | Исправлено: jentoso, 10:37 09-11-2025
Mrak_Tlen

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

Цитата:
 
insorg

Не могу знать. Кнопку делал не я. Вчера на нее наткнулся на одной из своих панелей, наверняка выдернутой из какой нить сборки. Проверил, работает.
Хорошо хоть товарищ
Цитата:
jentoso
указал откуда ноги растут.
 

Всего записей: 68 | Зарегистр. 12-01-2024 | Отправлено: 10:47 09-11-2025
ziabriev



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg
Копипастил это из сборки  TC.RadioBureau.

Всего записей: 1779 | Зарегистр. 03-03-2019 | Отправлено: 11:16 09-11-2025 | Исправлено: ziabriev, 11:18 09-11-2025
destiny_child



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

Код:
for /f "delims=" %a in ('type %WF') do ...

Это цикл по строкам из файла списка, созданного Total Commander.

  1. %WF — временный файл, который TC создаёт в %TEMP%.
    В нём записаны имена выбранных файлов (без путей!) в кодировке UTF-16 (LE).
    После завершения команды TC удаляет этот файл.
  2. type %WF — выводит содержимое этого файла (то есть имена выбранных файлов).
  3. for /f "delims=" %a in (...) — берёт каждую строку (без разделения по пробелам) и присваивает её переменной %a.

Каждая итерация цикла — один файл из списка выбранных. Это как раз видно в:
-d"%%~na" — каталог назначения: имя файла без расширения.
Например, если файл setup_tool.exe, то папка будет setup_tool\.
 
"%%~a" — текущий файл (взятый из списка %WF).

Всего записей: 5031 | Зарегистр. 01-04-2006 | Отправлено: 11:19 09-11-2025 | Исправлено: destiny_child, 11:20 09-11-2025
destiny_child



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что же - вышел 4 билд анпакера. И теперь на конфиге, что был, скажем так, у всех до любых тут предложенных выше  
правок (временных или постоянных - смотря кто как решил для себя) - всё распаковывается с пробелами так как и надо.
И единственной проблемой остался юникод в исходных упаковках . Если он там есть - в названиях файлов/папок, то
с Мультиарком их невозможно достать. Он не поддерживает внутренне обработку таких имён.
Хоть и файлы промежуточные для подачи их в обработку сторонним утилитам он и делает с поддержкой UTF-8, но вот само
взаимодействие с Тоталом, чтобы передавать ему листинг файлов/папок, он ведет в ANSI формате... И всё идет наперекосяк.
 
P.S. Хотя я сам попробовал перевести корректный "крЁмэ" на юникоде в наше ANSI и у меня выходило, что в Тотале должен
был появиться файл с именем "\CrГЁme", но по факту я почему-то вижу "\Cr+иme". Т.е. ещё одно преобразование?

Всего записей: 5031 | Зарегистр. 01-04-2006 | Отправлено: 19:54 11-11-2025 | Исправлено: destiny_child, 19:58 11-11-2025
jentoso



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny_child (пост)
Цитата:
до любых тут предложенных выше

У меня только с моим исходным вариантом

Код:
ExtractWithPath="ConPaste.exe /s /h%AQ /c%AWQ /p\"Введите пароль к дистрибутиву:\" \"Type in a password\" %P -x -m -c%R %AQ @%LQ"

распаковать из папки Trash and Convolve Legacy не удалось (ошибка), но сама папка распаковалась нормально. Новый вариант срабатывает во всех вариантах.
 

Код:
единственной проблемой остался юникод

Здесь только отдельное использование CLI или GUI остаётся, с MultiArc уже ничего не сделать (хотелось бы ошибаться и надеется на лучшее).

Всего записей: 680 | Зарегистр. 25-10-2008 | Отправлено: 22:11 11-11-2025 | Исправлено: jentoso, 22:12 11-11-2025
destiny_child



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема-то в том, что вопрос никогда и не стоял-то - а КАК/ЧЕМ мне распаковать надо установщик.
Польза-то и была/и есть именно в том, что плагин "раскрывает" виртуально установщики.  
Т.е. я сперва "осматриваюсь", заходя в него как в папку, а уж потом что-то делаю.
И вот тут выходит, что уже и осматриваться нельзя, ибо нельзя верить тому списку файлов/папок,  
что создаёт плагин, ибо там просто не будет юникодных объектов ((((
Т.е. тут только бы перебрать этот плагин под Юникод, но MVV очень четко дал понять, что
ему это не надо.

Всего записей: 5031 | Зарегистр. 01-04-2006 | Отправлено: 23:32 11-11-2025 | Исправлено: destiny_child, 11:21 12-11-2025
insorg



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny_child
Так-то плагином полазить по требухе инны можно спокойно, но для надёжной распаковки я себе добавил по известному образцу в секцию [user] вот такую колбасу:

menu23=InnoUnp
cmd23=%ComSpec% /c color 0A & "%COMMANDER_PATH%\Plugins\wcx\MultiArc\innounp.exe"
param23=?-x -b -m -d"%T%O" -a %P%N & pause

Пока ни разу не подводила. Да и сразу видно всё происходящее, если вдруг какие ошибки или несовместимости.
 
И инну брал вот эту
https://www.rathlev-home.de/index-e.html?tools/prog-e.html#unpack
https://www.rathlev-home.de/tools/download/innounp-2.zip
а не старый оригинал, потому что современные версии установок старая 0.50 не берёт даже листинг вывести.

Всего записей: 20507 | Зарегистр. 04-11-2010 | Отправлено: 16:40 12-11-2025
jentoso



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

Всего записей: 680 | Зарегистр. 25-10-2008 | Отправлено: 17:07 12-11-2025
destiny_child



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
insorg (пост)
Цитата:
Так-то плагином полазить по требухе инны можно спокойно

Т.е. мои длинные растянутые предложения о том, что раз плагин ансишный и он не умеет "говорить" с Тоталом по юникоду - ни к чему не привели?
Не дали простого понимания, что плагин НЕ сможет выдавать нам реальные данные, если вдруг исходные файлы в установщик автор установщика заливал с поддержкой юникода. Пример уже такого файла-установщика приведен в топике. И показано - КАК выглядит корректное имя 1 файла из его недр и показано как его ВООБЩЕ нет в листинге у плагина при открытии этого файла.
А это уже как ошибка плагина должна ситуация трактоваться. НО его вряд ли перепишут. Фразу автора о причинах уже выше привел.

Всего записей: 5031 | Зарегистр. 01-04-2006 | Отправлено: 17:18 12-11-2025 | Исправлено: destiny_child, 17:19 12-11-2025
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Программы » Multiarc плагины и аддоны для FAR и Total Commander


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

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

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru

Рейтинг.ru