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

Здесь можно обсудить ваш любимый плагин.
Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

Тема для обсуждения плагина Observer.
Плагин предназначен только для распаковки файлов. Запаковка/редактирование архивов не планируется.

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

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

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

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


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива. На версии 1.10 (и новее) работать не будет в связи с изменением API модулей.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)
Скачать последнюю сборку
Last edited by Ariman on Sun 12 Apr, 2020 07:57, edited 3 times in total.

Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

Latest post of the previous page:

Max Rusov wrote:У меня при этом 4 раза выдается та-же гуевая ошибка что и раньше, а потом все работает. Если сначала открыть файл, а потом загрузить Observer, то ошибок уже не возникает
У себя не могу повторить. Эта ошибка из модуля vdisk, когда он не может подгрузить нужную либу (скорее всего DiscUtils). Эта dll-ка лежит рядом с модулем? И сам модуль в итоге загрузился или нет?
montonero wrote:Вообще говоря, msi может много чего сделать, не установив ни одного файла. У Windows Installer богатые возможности по внесению всевозможных изменений в систему. Ну, и для тестов-экспериментов.
Забавно. Ну, если так надо, могу убрать обязательное требование наличия таблиц с файлами. Это не принципиальный вопрос.
montonero wrote:Обычно, редко нужно смотреть прям все таблицы. Самые востребованные (для меня) - это Property, реестр, файлы-каталоги, SummaryInformation. Но если будут все таблицы - не откажусь )
Эти данные и так есть. Но мы же вроде начали с mst, а там свои таблицы. А там данных может быть дофига, и в итоге info-файл превратиться в гору барахла.

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »

Ariman wrote:У себя не могу повторить. Эта ошибка из модуля vdisk, когда он не может подгрузить нужную либу (скорее всего DiscUtils). Эта dll-ка лежит рядом с модулем? И сам модуль в итоге загрузился или нет?
Это какой-то конфликт с FarNet, вернее с его субплагином RightWords для проверки орфографии. Ошибка появляется только при открытии файлов, которые настроены для проверки.
Закомментировал в observer.ini VDISK - ошибка исчезла.

Вообщем, если захочешь разобраться - надо поставить FarNet+RightWords

User avatar
HaRT
Moderator
Posts: 9475
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 108 times
Been thanked: 225 times

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

Post by HaRT »

Ariman wrote:могу убрать обязательное требование наличия таблиц с файлами. Это не принципиальный вопрос.
[...]
мы же вроде начали с mst, а там свои таблицы. А там данных может быть дофига, и в итоге info-файл превратиться в гору барахла.
Предлагаю добавлять ценность шаг за шагом. Для начала снять ограничение на наличие таблиц, посмотреть, что получилось, и уже там решать, куда двигаться дальше.

(Не)кстати, как там дела с PDB? (Только не подумайте, будто я подгоняю.)
Фар есть инструмент, а не нянька. © 2009 DrKnS

montonero
Posts: 402
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 2 times
Been thanked: 7 times

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

Post by montonero »

Ariman wrote:Эти данные и так есть. Но мы же вроде начали с mst, а там свои таблицы. А там данных может быть дофига, и в итоге info-файл превратиться в гору барахла.
Просто, в данный момент mst вообще не поддерживаются. Поэтому для начала хотелось бы хотя бы минимальную инфу. Но если будет запланирован показ всех таблиц, то не смею возражать и торопить. Есть у меня подозрение, что с mst могут быть некоторые проблемы.
"Far... Far never changes..."

User avatar
zg
zero-gravity
Posts: 5840
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 151 times
Contact:

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

Post by zg »

zg wrote:1. падает при шатдауне системы.
всё ещё падает.
2. f11->observer на папке первый раз падает. если зайти предварительно в какой-нибудь файл — не падает.
баг тут:

Code: Select all

static bool GetSelectedPanelFilePath(wstring& nameStr)
{
…
      int dirBufSize = (int) FarSInfo.PanelControl(PANEL_ACTIVE, FCTL_GETPANELDIRECTORY, 0, NULL);
      FarPanelDirectory *panelDir = (FarPanelDirectory*) malloc(dirBufSize);
      FarSInfo.PanelControl(PANEL_ACTIVE, FCTL_GETPANELDIRECTORY, dirBufSize, panelDir);
…
не устанавливается StructSize.

Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

Max Rusov wrote:Вообщем, если захочешь разобраться - надо поставить FarNet+RightWords
Поставил, но не хочет ругаться. Наверное что-то настроить ещё надо. Еще поковыряюсь. Попробуй, если не сложно, версию vdisk в аттаче. Я поменял сообщение об ошибке, и теперь должно показывать что именно модуль пытается подгрузить. Есть подозрение, что он может перехватить обработку загрузки от других плагинов и пытаться грузить чужие либы.
HaRT wrote:Предлагаю добавлять ценность шаг за шагом. Для начала снять ограничение на наличие таблиц, посмотреть, что получилось, и уже там решать, куда двигаться дальше.
Тоже верно. Убрал ограничение в msi на таблицы, для всех желающих в аттаче версия на попробовать.
HaRT wrote:(Не)кстати, как там дела с PDB? (Только не подумайте, будто я подгоняю.)
Пока, к сожалению, туго. Легкий способ (это спереть готовый код :)) не получился, а до толкового исследования вопроса руки не доходят.
montonero wrote:Просто, в данный момент mst вообще не поддерживаются.
Теперь по идее должно открыться, когда убрано ограничение на таблицы с файлами и каталогами (которых в mst файлах, естественно, нет). Попробуй.
Attachments
vdisk.rar
Изменен диалог ошибки загрузки
(22.25 KiB) Downloaded 85 times
msi.rar
Убраны ограничения по таблицам
(45.45 KiB) Downloaded 105 times

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »

Ariman wrote:Есть подозрение, что он может перехватить обработку загрузки от других плагинов и пытаться грузить чужие либы
Похоже, типа того.
Attachments
Error.png
Error.png (21.19 KiB) Viewed 5402 times

Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

Max Rusov wrote:Похоже, типа того.
Спасибо, теперь понятно куда копать. Вроде поправил, теперь не должно ругаться на чужие запросы.
Attachments
vdisk.rar
Исправлен конфликт с другими плагинами
(22.33 KiB) Downloaded 109 times

Max Rusov
Posts: 3632
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 1 time
Been thanked: 11 times

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

Post by Max Rusov »

Ошибка исчезла, спасибо. Работает ли модуль проверить не могу - не на чем.

Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

zg wrote:баг тут:
[…]
не устанавливается StructSize.
Спасибо, поправил. С приаттаченой версией не падает теперь?
Attachments
4Observer_dll_Far3.rar
StructSize fix
(70.47 KiB) Downloaded 118 times

User avatar
zg
zero-gravity
Posts: 5840
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 151 times
Contact:

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

Post by zg »

Ariman wrote:Спасибо, поправил. С приаттаченой версией не падает теперь?
по второму пункту — нет.

tstr
Posts: 534
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 10 times
Been thanked: 9 times

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

Post by tstr »

при попытке открыть битый .ISO получаю сообщение о ошибке в графическом окне

testISO.7z
тестовый битый ISO
(324 Bytes) Downloaded 79 times

Ariman
Posts: 1283
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 39 times
Contact:

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

Post by Ariman »

zg wrote:по второму пункту — нет.
Отлично. Теперь осталось починить шатдаун. Трап лога или какого-нибудь полезного сообщения при этом не остается?
tstr wrote:при попытке открыть битый .ISO получаю сообщение о ошибке в графическом окне
Это относительно нормально ). Я оставил в vdisk-е вывод сообщения об ошибках для диагностики. Надо, наверное, это опционально сделать.

User avatar
HaRT
Moderator
Posts: 9475
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 108 times
Been thanked: 225 times

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

Post by HaRT »

Ariman wrote:
tstr wrote:при попытке открыть битый .ISO получаю сообщение о ошибке в графическом окне
Это относительно нормально ). Я оставил в vdisk-е вывод сообщения об ошибках для диагностики.
А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Тогда хорошо бы, чтобы не только опционально, но и с интеллектуальным отключением.
Фар есть инструмент, а не нянька. © 2009 DrKnS

Dzirt2005
Posts: 298
Joined: Fri 29 Feb, 2008 12:11
Been thanked: 3 times

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

Post by Dzirt2005 »

HaRT wrote:...
А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Скорее всего выдаст "невидимое" окно на невидимом десктопе и продолжить выполнение в Фаре будет нельзя до закрытия всей сессии. Как обычно вобщем-то с этим .NET'ом любящим GUI-сообщения об ошибках... :/

montonero
Posts: 402
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 2 times
Been thanked: 7 times

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

Post by montonero »

Ariman wrote:Теперь по идее должно открыться, когда убрано ограничение на таблицы с файлами и каталогами (которых в mst файлах, естественно, нет). Попробуй.
Не открывается. Насколько я разобрался, mst просто так не откроешь. Только SummaryInformation доступна. mst придется применить к msi. В качестве msi можно использовать пустую (создать заранее или на лету), потом применить трансформ с флагом msiTransformErrorViewTransform и работать с таблицей _TransformView. Пример есть в SDK - WiLstXfm.vbs
"Far... Far never changes..."

Post Reply

Return to “Обсуждение плагинов”