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

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

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

Post by Ariman »

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

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

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

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

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


Сторонние модули:
  • Dir — поддержка вывода команд dir и ls в качестве виртуального архива.
  • Inno Setup — поддержка файлов Inno Setup (сделан на основе innounp).
  • cab — распаковка нестандартных .cab архивов (Windows Update и др.)
Last edited by Ariman on Wed 04 May, 2022 14:36, edited 7 times in total.
montonero
Posts: 463
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 3 times
Been thanked: 9 times

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

Post by montonero »

Latest post of the previous page:

Ariman wrote:Теперь по идее должно открыться, когда убрано ограничение на таблицы с файлами и каталогами (которых в mst файлах, естественно, нет). Попробуй.
Не открывается. Насколько я разобрался, mst просто так не откроешь. Только SummaryInformation доступна. mst придется применить к msi. В качестве msi можно использовать пустую (создать заранее или на лету), потом применить трансформ с флагом msiTransformErrorViewTransform и работать с таблицей _TransformView. Пример есть в SDK - WiLstXfm.vbs
"Far... Far never changes..."
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Я использую стандартную функцию MessageBox (обычный WinAPI, не .net). Как оно себя будет вести не в курсе.
HaRT wrote:Тогда хорошо бы, чтобы не только опционально, но и с интеллектуальным отключением.
Думаю опцию в конфиге сделать.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

montonero wrote:Не открывается. Насколько я разобрался, mst просто так не откроешь.
Раз просто так не сработало, то буду исследовать плотнее. Надо только найти mst для тестов.
montonero
Posts: 463
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 3 times
Been thanked: 9 times

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

Post by montonero »

Ariman wrote:Раз просто так не сработало, то буду исследовать плотнее. Надо только найти mst для тестов.
mst я могу наделать каких угодно - только попроси.
"Far... Far never changes..."
User avatar
HaRT
Moderator
Posts: 10855
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote:
HaRT wrote:А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Я использую стандартную функцию MessageBox (обычный WinAPI, не .net). Как оно себя будет вести не в курсе.
Я только что поставил эксперимент: взял программку: , собрал её и запустил в сеансе SSH (сервер — Kpym). Она вывела сообщение на консоль, заблокировалась и стала ждать, очевидно, закрытия нигде не видимого окна Message Box'а — пришлось завершить процесс по CtrlC.
Ariman wrote:
HaRT wrote:Тогда хорошо бы, чтобы не только опционально, но и с интеллектуальным отключением.
Думаю опцию в конфиге сделать.
Чтобы избежать вышеописанного поведения, хорошо бы, чтобы при запуске без GUI графические сообщения с ошибками подавлялись независимо от состояния этой опции.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

montonero wrote:mst я могу наделать каких угодно - только попроси.
Хорошо бы, если не сложно, штучки 3-4 для экспериментов. Если с сопутствующими файлами msi, то ещё лучше.
HaRT wrote:Чтобы избежать вышеописанного поведения, хорошо бы, чтобы при запуске без GUI графические сообщения с ошибками подавлялись независимо от состояния этой опции.
А как это определить, с GUI запуск или без?
User avatar
HaRT
Moderator
Posts: 10855
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote:А как это определить, с GUI запуск или без?
Как я понял вот из этой статьи (рекомендую!) и из экспериментов, .
Фар есть инструмент, а не нянька. © 2009 DrKnS
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

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

Post by Max Rusov »

Может я чего-то не понимаю, но зачем выдавать GUI сообщения чтобы потом с ними мучительно бороться. Не проще сразу выдавать консольные сообщения?
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:Как я понял вот из этой статьи (рекомендую!) и из экспериментов,
Спасибо, интересное и полезное чтиво.
Max Rusov wrote:Может я чего-то не понимаю, но зачем выдавать GUI сообщения чтобы потом с ними мучительно бороться. Не проще сразу выдавать консольные сообщения?
Ну изначально я бороться то не собирался :). Но если окошки пользователей смущают или мешают, то можно и убрать.
Сообщения должны возникать только при проблемах и должны помочь для багрепортов. Консольное сообщение можно просто не заметить, а возможности показывать фаровые диалоги из модулей нет.
User avatar
HaRT
Moderator
Posts: 10855
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote:Сообщения должны возникать только при проблемах и должны помочь для багрепортов. Консольное сообщение можно просто не заметить, а возможности показывать фаровые диалоги из модулей нет.
На мой взгляд, идеально было бы так:
* Модули вообще никакие сообщения ни в какой форме непосредственно не выводят. Вместо этого они аккумулируют всё, что они „хотят сказать” про конкретный файл, и отдают это наверх, диспетчеру.
* При наличии ошибок/предупреждений головной плагин как-то (см. ниже) сигнализирует об их наличии, а также предоставляет возможность посмотреть подробности.
* Как сигнализировать наличие/подробности ошибок, можно было бы задавать настройкой (никак/ консольное сообщение/ фаровский диалог/ графический диалог/ …), однако достаточно будет выводить в консоль ярким цветом (при умолчательной палитре — красным) строку о количестве ошибок/предупреждений и предложение почитать журнал.
* Журнал можно было бы использовать системный (Event Log) или файл где-то в локальном профиле пользователя. В последнем случае желательно иметь возможность настраивать степень подробности — например, как в log4j или как в Ruby Logger::Severity.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

HaRT wrote:На мой взгляд, идеально было бы так:
Ну с логом это, по моему, перебор, но идея хорошая. Осталось найти время и сделать :). Внесу пока с вишлист, чтобы не забылось.
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

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

Post by DiRTy_GaRRy »

Dzirt2005 wrote:
HaRT wrote:...
А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Скорее всего выдаст "невидимое" окно на невидимом десктопе и продолжить выполнение в Фаре будет нельзя до закрытия всей сессии. Как обычно вобщем-то с этим .NET'ом любящим GUI-сообщения об ошибках... :/
Извините, но схренали? Сам .NET вообще никаких сообщений об ошибках не выводит. Их выводят программисты, у которых зачастую руки кривоваты.
Ы?
montonero
Posts: 463
Joined: Wed 25 Jun, 2008 16:55
Has thanked: 3 times
Been thanked: 9 times

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

Post by montonero »

Ariman wrote:штучки 3-4 для экспериментов. Если с сопутствующими файлами msi, то ещё лучше.
Вот один, который я сделал для http://sourceforge.net/projects/sevenzi ... i/download (на самом деле трансформ можно применить к любому msi, если только он не настроен так, чтобы этому препятствовать). В нем есть почти все основные вещи, которые делают трансформы (замена, удаление, добавление).

И еще msi с полным комплектом пустых таблиц, на котором удобно смотреть, что же делает трансформ.
Attachments
empty_w_tables.msi.7z
(12.99 KiB) Downloaded 159 times
tr1.mst.7z
(1010 Bytes) Downloaded 167 times
"Far... Far never changes..."
User avatar
HaRT
Moderator
Posts: 10855
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

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

Post by HaRT »

Ariman wrote:
fibre wrote:жаль, что нет поддержки контейнеров Acronis True Image ;(
очень бы хотелось.
А есть на них спецификация хотя бы неофициальная? Или код какой? Реверсить код акрониса как то нет желания. :)
Ленивый wrote:Собирал из готовых загрузочную флэшку, увидел что-то типа "Включить поддержку .tib в систему". Поковырял цепочку установки и вырезал для себя набор файлов из Acronis'а. Перекомплектовал под 10-й (был 9-й). После выполнения cmd-шника работает... Но только в explorer'е, по copy/paste. Кто бы встроил в Far? Я - не умею. Cmd-файл и список файлов (скорее всего избыточный) из Acronis'а прилагаю. Хочется версий под Far1 и 2. (Может быть через MultiArc???)
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

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

Post by John Doe »

Вряд ли это к обсерверу.
Ariman
Posts: 1351
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 15 times
Been thanked: 50 times
Contact:

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

Post by Ariman »

Согласен, как-то это к плагину мало относится. То, что можно при помощи файликов от акрониса разворачивать образы с флешки, не поможет понять структуру файла и написать распаковку.
Post Reply

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