Page 134 of 136

Observer — распаковка файлов из различных контейнеров

Posted: Mon 31 Aug, 2009 11:29
by Ariman
Тема для обсуждения плагина Observer.
Плагин предназначен только для распаковки файлов. Запаковка/редактирование архивов не планируется.

Хотелки/баги:

Известные проблемы:

Планируемые новые модули:

Если "ничего не работает", то прежде чем писать сюда:


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива. На версии 1.10 (и новее) работать не будет в связи с изменением API модулей.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)
Скачать последнюю сборку

Observer — распаковка файлов из различных контейнеров

Posted: Sat 11 Apr, 2020 22:30
by DV

Latest post of the previous page:

А где бы взять необходимый и достаточный для Observer набор .dll файлов из Visual C++ 2017 Redist, чтобы кинуть их в папку с FAR и не зависеть от того, установлен ли Visual C++ 2017 Redist в системе?

Observer — распаковка файлов из различных контейнеров

Posted: Sun 12 Apr, 2020 02:55
by buniak_a_h

Итак, вопросы.
  1. Есть ли интерфейс для вызова функций плагина из макросов (вызовами типа Plugin.Call(op, file, params))? Если нет - можно ли доделать?
  2. Есть ли возможность:
    1. получить список файлов внутри конгломерата?
    2. распаковать один файл в указанное место?
    3. Удалить, заменить файл?
    -- Если пункта 2.a нету, то можно ли его доделать? Остальные пункты - не горят…

Observer — распаковка файлов из различных контейнеров

Posted: Sun 12 Apr, 2020 07:55
by Ariman
HaRT wrote:
Sat 11 Apr, 2020 21:58
Не влечёт ли это за собой вычёркивание каких-то элементов списка «Хотелки/баги» в заглавном сообщении Темы?
Оказалось, один пункт есть. Обновил.
DV wrote:
Sat 11 Apr, 2020 22:30
А где бы взять необходимый и достаточный для Observer набор .dll файлов из Visual C++ 2017 Redist, чтобы кинуть их в папку с FAR и не зависеть от того, установлен ли Visual C++ 2017 Redist в системе?
Без понятия, такие проблемы никогда не возникали. Самый очевидный способ - на системе с установленным redist-ом взять Dependency Walker, найти им полный список зависимостей и скопировать все эти файлы.
buniak_a_h wrote:
Sun 12 Apr, 2020 02:55
Есть ли интерфейс для вызова функций плагина из макросов (вызовами типа Plugin.Call(op, file, params))? Если нет - можно ли доделать?
Поддержки макросов в плагине сейчас нет. Доделать, в принципе, можно. Но когда это будет. Добавлю в первый пост пока, в список хотелок.

Observer — распаковка файлов из различных контейнеров

Posted: Sun 12 Apr, 2020 08:02
by buniak_a_h
Ariman wrote:
Sun 12 Apr, 2020 07:55
buniak_a_h wrote:
Sun 12 Apr, 2020 02:55
Есть ли интерфейс для вызова функций плагина из макросов (вызовами типа Plugin.Call(op, file, params))? Если нет - можно ли доделать?
Поддержки макросов в плагине сейчас нет. Доделать, в принципе, можно. Но когда это будет. Добавлю в первый пост пока, в список хотелок.
1. Спасибо за то, что не в игнор-лист, а в туду :-)
2. Там ещё пара моих хотелок, связанных с поддержкой макросов, но "не жёстко". Я имею в виду, что, может, есть возможность при вызове по префиксу из командной строки получить список вложений или вытащить файло куда-надоть? Как временная мера устроило бы…

Observer — распаковка файлов из различных контейнеров

Posted: Sun 12 Apr, 2020 12:23
by DV
Ariman wrote:
Sun 12 Apr, 2020 07:55
DV wrote:
Sat 11 Apr, 2020 22:30
А где бы взять необходимый и достаточный для Observer набор .dll файлов из Visual C++ 2017 Redist, чтобы кинуть их в папку с FAR и не зависеть от того, установлен ли Visual C++ 2017 Redist в системе?
Без понятия, такие проблемы никогда не возникали. Самый очевидный способ - на системе с установленным redist-ом взять Dependency Walker, найти им полный список зависимостей и скопировать все эти файлы.
Получается примерно такой скромный .

Observer — распаковка файлов из различных контейнеров

Posted: Sun 12 Apr, 2020 18:26
by Ariman
buniak_a_h wrote:
Sun 12 Apr, 2020 08:02
есть возможность при вызове по префиксу из командной строки получить список вложений или вытащить файло куда-надоть? Как временная мера устроило бы…
Это нет. Кодить что с префиксом, что с макросами примерно одинаково. Какой тогда смысл тратить время на временные костыли.
DV wrote:
Sun 12 Apr, 2020 12:23
Получается примерно такой скромный список.
Похоже на правду, хотя не факт, что там ещё чего-нибудь не потребуется. Всё-таки c++ redist не самая портабельная штука.
На случай, если Observer единственный плагин, кому эти файлы нужны, можно их в папку modules запихать. Чтобы не мусорить в корне Фара.

Observer — распаковка файлов из различных контейнеров

Posted: Sun 12 Apr, 2020 20:16
by LAT
HaRT wrote:
Sat 11 Apr, 2020 21:38
LAT wrote:
Sat 11 Apr, 2020 21:23
можно попросить прямую ссылку?
Ссылка в «шапке» Темы недостаточно прямая?
В ней отсутствует ключевое слово "гитхаб". Поэтому было не очевидно, что это ссылка на тот же файл.
Ariman wrote:
Sat 11 Apr, 2020 21:48
LAT wrote:
Sat 11 Apr, 2020 21:23
В "анонсах" вроде бы ссылка только на исходники.
Если по ней пройти, то там достаточно несложно находятся бинарники в разделе Releases. Ну или можно, как заметил HaRT, воспользоваться ссылкой на последнюю сборку из шапки, там, в принципе, эквивалентные архивы лежат.
Спасибо. В Releases я заглянуть не догадался :(.

Observer — распаковка файлов из различных контейнеров

Posted: Mon 13 Apr, 2020 09:32
by pepak
Uploaded InnoSetup plugin with support for Observer 1.12: viewtopic.php?f=39&t=9765

Observer — распаковка файлов из различных контейнеров

Posted: Wed 29 Apr, 2020 09:38
by Taciturn
Observer 1.12.0 x64 — пытаемся открыть TeamViewer.dmg по Ctrl+PgDn или Enter, получаем ошибку, причём в GUI:

Code: Select all

---------------------------
VDISK Prepare Error
---------------------------
Attempt to read beyond end of stream
---------------------------
ОК   
---------------------------
И всё, файл не открывается нигде. В 1.11.2 он нормально открывался в ArcLite, VDISK не пытался делать странное.

Observer — распаковка файлов из различных контейнеров

Posted: Wed 29 Apr, 2020 10:23
by Pasha_ZZZ
Taciturn wrote:
Wed 29 Apr, 2020 09:38
файл не открывается нигде
Ну почему же нигде? До сих пор открывается в ArcLite (F11 -> ArcLite -> Открыть архив).
Я у себя понизил приоритет Обсервера, чтобы он лез только когда другие открыть не смогли (переименовал 4Observer.dll в zObserver.dll)

Observer — распаковка файлов из различных контейнеров

Posted: Thu 30 Apr, 2020 17:02
by Taciturn
Pasha_ZZZ, если понизить приоритет Observer'а, то перестанут автоматически открываться некоторые форматы, т.к. ArcLite будет открывать их как PE. И я не хочу, чтобы ArcLite перестал открывать как PE то, что ни может открыть никакой другой плагин. А вот если исправить баг в VDISK, то всё будет хорошо.
Ну и я же не спрашивал, как мне открыть dmg — я сообщал в проблеме с Observer'ом.

Observer — распаковка файлов из различных контейнеров

Posted: Thu 30 Apr, 2020 19:25
by Pasha_ZZZ
observer.ini:

Code: Select all

[VDISK]
DisplayErrorPopups=0
Так окошки хотя бы выскакивать не будут.

Observer — распаковка файлов из различных контейнеров

Posted: Fri 01 May, 2020 09:21
by Ariman
Окошки, как справедливо заметил Pasha_ZZZ, можно убрать настройкой. А исправить открытие dmg я не смогу, этот формат обрабатывается сторонней либой. Как вариант, можно добавить расширение .dmg в игнор, чтобы плагин по Ctrl-PgDn не пробовал их открывать.

Observer — распаковка файлов из различных контейнеров

Posted: Fri 01 May, 2020 10:36
by Taciturn
Ariman, видимо я что-то делаю не так, но не работает.
Кстати, а нельзя окошки vdisk'а переделать на стандартные, для Far'а, текстовые ошибки?

Observer — распаковка файлов из различных контейнеров

Posted: Fri 01 May, 2020 10:39
by Pasha_ZZZ
Taciturn wrote:
Fri 01 May, 2020 10:36
но не работает.
IgnoreFilter должен быть в General, т.е. IgnoreFilter=*.tar;*.dmg

Observer — распаковка файлов из различных контейнеров

Posted: Fri 01 May, 2020 10:50
by Taciturn
Pasha_ZZZ, да, так работает. Спасибо.