Page 72 of 124

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

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

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

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

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

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


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

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

Posted: Mon 17 Dec, 2012 13:06
by montonero

Latest post of the previous page:

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

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

Posted: Mon 17 Dec, 2012 14:03
by Ariman
HaRT wrote:А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Я использую стандартную функцию MessageBox (обычный WinAPI, не .net). Как оно себя будет вести не в курсе.
HaRT wrote:Тогда хорошо бы, чтобы не только опционально, но и с интеллектуальным отключением.
Думаю опцию в конфиге сделать.

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

Posted: Mon 17 Dec, 2012 17:24
by Ariman
montonero wrote:Не открывается. Насколько я разобрался, mst просто так не откроешь.
Раз просто так не сработало, то буду исследовать плотнее. Надо только найти mst для тестов.

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

Posted: Mon 17 Dec, 2012 17:48
by montonero
Ariman wrote:Раз просто так не сработало, то буду исследовать плотнее. Надо только найти mst для тестов.
mst я могу наделать каких угодно - только попроси.

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

Posted: Mon 17 Dec, 2012 18:10
by HaRT
Ariman wrote:
HaRT wrote:А как оно себя поведёт при отсутствии GUI (например, в telnet/SSH)? Грохнется?
Я использую стандартную функцию MessageBox (обычный WinAPI, не .net). Как оно себя будет вести не в курсе.
Я только что поставил эксперимент: взял программку: , собрал её и запустил в сеансе SSH (сервер — Kpym). Она вывела сообщение на консоль, заблокировалась и стала ждать, очевидно, закрытия нигде не видимого окна Message Box'а — пришлось завершить процесс по CtrlC.
Ariman wrote:
HaRT wrote:Тогда хорошо бы, чтобы не только опционально, но и с интеллектуальным отключением.
Думаю опцию в конфиге сделать.
Чтобы избежать вышеописанного поведения, хорошо бы, чтобы при запуске без GUI графические сообщения с ошибками подавлялись независимо от состояния этой опции.

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

Posted: Mon 17 Dec, 2012 18:44
by Ariman
montonero wrote:mst я могу наделать каких угодно - только попроси.
Хорошо бы, если не сложно, штучки 3-4 для экспериментов. Если с сопутствующими файлами msi, то ещё лучше.
HaRT wrote:Чтобы избежать вышеописанного поведения, хорошо бы, чтобы при запуске без GUI графические сообщения с ошибками подавлялись независимо от состояния этой опции.
А как это определить, с GUI запуск или без?

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

Posted: Mon 17 Dec, 2012 21:08
by HaRT
Ariman wrote:А как это определить, с GUI запуск или без?
Как я понял вот из этой статьи (рекомендую!) и из экспериментов, .

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

Posted: Mon 17 Dec, 2012 21:30
by Max Rusov
Может я чего-то не понимаю, но зачем выдавать GUI сообщения чтобы потом с ними мучительно бороться. Не проще сразу выдавать консольные сообщения?

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

Posted: Mon 17 Dec, 2012 22:04
by Ariman
HaRT wrote:Как я понял вот из этой статьи (рекомендую!) и из экспериментов,
Спасибо, интересное и полезное чтиво.
Max Rusov wrote:Может я чего-то не понимаю, но зачем выдавать GUI сообщения чтобы потом с ними мучительно бороться. Не проще сразу выдавать консольные сообщения?
Ну изначально я бороться то не собирался :). Но если окошки пользователей смущают или мешают, то можно и убрать.
Сообщения должны возникать только при проблемах и должны помочь для багрепортов. Консольное сообщение можно просто не заметить, а возможности показывать фаровые диалоги из модулей нет.

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

Posted: Tue 18 Dec, 2012 10:27
by HaRT
Ariman wrote:Сообщения должны возникать только при проблемах и должны помочь для багрепортов. Консольное сообщение можно просто не заметить, а возможности показывать фаровые диалоги из модулей нет.
На мой взгляд, идеально было бы так:
* Модули вообще никакие сообщения ни в какой форме непосредственно не выводят. Вместо этого они аккумулируют всё, что они „хотят сказать” про конкретный файл, и отдают это наверх, диспетчеру.
* При наличии ошибок/предупреждений головной плагин как-то (см. ниже) сигнализирует об их наличии, а также предоставляет возможность посмотреть подробности.
* Как сигнализировать наличие/подробности ошибок, можно было бы задавать настройкой (никак/ консольное сообщение/ фаровский диалог/ графический диалог/ …), однако достаточно будет выводить в консоль ярким цветом (при умолчательной палитре — красным) строку о количестве ошибок/предупреждений и предложение почитать журнал.
* Журнал можно было бы использовать системный (Event Log) или файл где-то в локальном профиле пользователя. В последнем случае желательно иметь возможность настраивать степень подробности — например, как в log4j или как в Ruby Logger::Severity.

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

Posted: Tue 18 Dec, 2012 14:36
by Ariman
HaRT wrote:На мой взгляд, идеально было бы так:
Ну с логом это, по моему, перебор, но идея хорошая. Осталось найти время и сделать :). Внесу пока с вишлист, чтобы не забылось.

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

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

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

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

И еще msi с полным комплектом пустых таблиц, на котором удобно смотреть, что же делает трансформ.

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

Posted: Thu 10 Jan, 2013 11:10
by HaRT
Ariman wrote:
fibre wrote:жаль, что нет поддержки контейнеров Acronis True Image ;(
очень бы хотелось.
А есть на них спецификация хотя бы неофициальная? Или код какой? Реверсить код акрониса как то нет желания. :)
Ленивый wrote:Собирал из готовых загрузочную флэшку, увидел что-то типа "Включить поддержку .tib в систему". Поковырял цепочку установки и вырезал для себя набор файлов из Acronis'а. Перекомплектовал под 10-й (был 9-й). После выполнения cmd-шника работает... Но только в explorer'е, по copy/paste. Кто бы встроил в Far? Я - не умею. Cmd-файл и список файлов (скорее всего избыточный) из Acronis'а прилагаю. Хочется версий под Far1 и 2. (Может быть через MultiArc???)

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

Posted: Thu 10 Jan, 2013 13:48
by John Doe
Вряд ли это к обсерверу.

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

Posted: Fri 11 Jan, 2013 14:44
by Ariman
Согласен, как-то это к плагину мало относится. То, что можно при помощи файликов от акрониса разворачивать образы с флешки, не поможет понять структуру файла и написать распаковку.

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

Posted: Tue 15 Jan, 2013 13:19
by Hedin
Можно ли сделать модуль на базе вот этой утилиты: fb2bin ?