Total7zip

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

странно...
почистил у себя раздел конфига formats
и заработало...
можено попросить вас проверить
1. сохраните свой Total7zip.xml
2. отредактируйте рабочую версию, почистите узлы с форматами и исключениями
вот так:

Код: Выделить всё

	<formats save="1">
	</formats>
	<formatsDisabled>
	</formatsDisabled>
3. перезапустите TC.
4. откройте msi.

если откроется правильно, скопируйте обратно предыдущую версию
перезапуск TC.
если опять открывается неправильно - дайте мне пожалуйста оба конфига. найду разницу.

моя рабочая версия - из-за сохранения списка расширений где-то слетает очередность при подборе формата.

+попробовал ваш msi открыть WinRar'ом - открывает так же как плагин... а FM открывает иначе...
так как у меня исходники почти такие же как у FM пока не понимаю в чем дело.
Последний раз редактировалось Total7zip Чт дек 23, 2010 02:17, всего редактировалось 1 раз.
XXXLer
Сообщения: 48
Зарегистрирован: Вс дек 19, 2010 15:48

Сообщение XXXLer »

После очистки и перезапуска ничего не меняется:
конфиг:

Код: Выделить всё

<?xml version="1.0"?>
<settings>
	<gui lang="ru" />
	<path path_7z_dll="7z.dll" path_7zG_exe="7zG.exe" />
	<path64bit path_7zG_exe="7zG.exe" />
	<compression save="1" sfx="7z.sfx" askByContent="0" askByContentTimeout="0" alwaysWait7zip="0" extractToTempCount="1">
		<compression7z Level="9" Dictionary="67108864" Order="64" BlockSize="32" NumThreads="2" Method="LZMA" />
	</compression>
	<passwords save="0" />
	<formats save="0" />
	<formatsDisabled />
</settings> 
и результат - 34 файла, 2.7Mb, в 7zFM - 259 файлов, 67Mb
Rustn
Сообщения: 45
Зарегистрирован: Ср дек 15, 2010 11:22

Сообщение Rustn »

XXXLer
Присмотрись внимательно к конфигу, нет у тебя правильной структуры:

Код: Выделить всё

<formats save="1"> 
</formats> 
<formatsDisabled> 
</formatsDisabled>
Вместо этого, у тебя:

Код: Выделить всё

<formatsDisabled />
Без начала и конец не при делах...
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

это нормально. сокращенная форма записи пустого узла.
в xml можно и так и так
http://msdn.microsoft.com/ru-ru/library/ms256085.aspx
В XML можно задать пустой элемент с помощью начального и конечного тега, не помещая между ними ни пробелов, ни содержимого, например: <giggle></giggle>; можно использовать пустой тег, например, <giggle/>. Синтаксический анализатор XML выдаст идентичный результат для обеих конструкций.
Loopback
Сообщения: 1646
Зарегистрирован: Пн сен 07, 2009 09:29

Сообщение Loopback »

Total7zip писал(а):с нуля переписан код открытия файлов, результат максимально приближен к тому, что показывает 7-zip FM
например, теперь нормально отображается содержимое vhd.
Спасибо, всё заработало!
Total7zip писал(а):через конфиг можно блокировать обработчики форматов
Тоже очень нужное дополнение, работает отлично.
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

версия 0.5.8.7
http://narod.ru/disk/1973649001/Total7zip_0587.rar.html (только wcx)

исправляем описанный глюк с некоторыми msi.
коротко суть проблемы была в том, что этот конкретный msi так же открывался обработчиком формата CAB. поэтому, кстати, и WinRar 4beta3 открывает файл так же как плагин. теперь результат работы плагина не должен отличатья от 7zip FM. нужно почистить конфиг - секцию formats.

имена в gzip архивах
заметил, что так же как и в bz2 вместо имени на первом уровне писалось "[Content]". поправил. если среди поддерживаемых форматов еще есть такие, в которых нет имени файла, то и они исправились с вероятностью 99%.

тут можно скачать 7-Zip 9.20.03, если не боитесь тестовых версий
XXXLer
Сообщения: 48
Зарегистрирован: Вс дек 19, 2010 15:48

Сообщение XXXLer »

нерабочего вроде ничего не нашел, думаю плаг готов к релизу =)

на будущие версии есть пожелание - если не трудно в поле Метод отображать тип:метод сжатия (7zip:PPMD/nsis:LZMA26/WIM:Copy/PE и т.п.), или не отсылать туда вообще нечего - зачем повторятся:

Изображение
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

а как посмотреть такие свойства? это стандартый диалог?
по-моему никто меня не спрашивает про свойства архива.
XXXLer
Сообщения: 48
Зарегистрирован: Вс дек 19, 2010 15:48

Сообщение XXXLer »

Total7zip писал(а):а как посмотреть такие свойства? это стандартый диалог?
по-моему никто меня не спрашивает про свойства архива.
заходим в архив и по любому файлу жмем ПКМ Свойства

передается вроде в tHeaderData[Ex][W] я так понимаю с листингом файлов
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

"о сколько нам..."
неожиданно обнаружил, что порою Total Commander кидает файлы в TEMP и просит упаковать их с флагом move to archive. То есть этот режим используется не только тогда, когда вы ставите галку в диалоге упаковки, но и в тех случаях, когда пакуются временные файлы.
почему надо доверять плагину очистку папки TEMP мне непонятно...
вывод из этого простой - каждый wcx плагин _обязан_ корректно обрабатывать этот флаг, иначе в TEMP будет накапливаться мусор. поэтому опять пришлось взяться за виртуальный напильник:

версия 0.6.0.0

добавил поддержку "перемещения" файлов в архив
Для вас это означает, что можно пользоваться галкой "Move to archive".
Исходные файлы после такой операции плагин отправляет в корзину. Для смелых и отважных в конфиг добавлен параметр deleteToRecycleBin.
deleteToRecycleBin="1" - удалять в корзину (по умолчанию, рекомендую оставить так на время тестов)
deleteToRecycleBin="0" - Total7zip удаляет файлы навсегда.
что бы увидеть новый параметр сохраните настройки компрессии 7z (как обычно).

все-таки
сделал красивые имена в Flv
вместо "audio" и "video" теперь будет например
ALEX_live_cognac_2009.audio.mp3

как просили,
добавил в свойства файла в архиве CRC и аттрибут Encrypted(если зашифрован)
больше, к сожалению, туда ничего вывести нельзя.
там есть поля и для метода и другие, только они НЕ ИСПОЛЬЗУЮТСЯ.
вот что говорит ghisler(Author)
Q:In the WCX Guide, for structures tHeaderData and tHeaderDataEx the members Flags , UnpVer , and Method , are not documented.
A:Yes, that's correct. I used the unrar.dll interface to make it easier for people to adapt to the TC interface.These fields are not used, it doesn't matter to what you set them. It's better to set all unused fields to 0, though.
поле Method - это число, понятно что я никак не могу запихнуть в число строку "LZMA2" =)
где отображается CRC я не нашел, но теперь я его честно передаю.
вобще тема информации об архиве витает рядом с плагином, и, возможно, я добавлю в будущем к Total7zip второй интерфейс - WDX

мелкие исправления там и тут...
мелкие но очень важные. все стало стабильнее и надежнее.
теперь, надеюсь, это настоящий RC - кандидат на обновление public версии.

навел красоту в логах. теперь логируются все WCX вызовы
кроме ReadHeaderExW и ProcessFileW (потому что эти методы вызываются для _каждого_ файла в архиве). Если у вас что-то будет открываться не так - прикладывайте эти логи.
Советую запустить DebugView и посмотреть как тотал обращается с архивами. меня лично сводит с ума то, что, например, для того чтоб отобразить свойства файла из только что открытого архива нужно открыть архив заново... =)


в догонку к новой версии
пара power советов:

совет 1 :idea: - если вы хотите перед упаковкой увидеть диалог настроек и изменить параметры для данного конкретного нового архива - поставьте галку "Encrypt" (задать пароль). Это не самый прямой путь, но в результате перед началом упаковки вы увидите диалог и любые изменения настроек в нем будут применены только к этому архиву. а именно пароль вводить совсем не обязательно!


совет 2 :shock: :shock: :shock: :shock: :shock: :shock:
пока лечил нашел очень интересную фичу:
помните разговоры о том, что если попросить запаковать папку Windows придется долго ждать, пока тотал коммандер переберет все файлы в этой папке?
О том, как же можно просить упаковать папку не полностью и т.п.
теперь я знаю как начать упаковку мгновенно. без дополнительных кнопок. через WCX плагин Total7zip.
Это так просто, что я даже не поверил сначала.
Надо просто в диалоге упаковки (Alt+F5) снять галку "Recursively pack subdirectories". И все.
После этого вы начинаете упаковку.
Тотал командер передает плагину только путь к папке (или к папкам, если их выделено несколько).
плагин отдает эти пути в 7zG, а по правилам 7zip папка это папка.
все что есть в папке будет запаковано.
у меня нет слов :shock: :shock: :shock: :shock:


загрузить :arrow: : http://narod.ru/disk/2037238001/Total7zip_0600.rar.html
только update wcx.

если вы обновляетесь с версии 0.5.8.6 или более ранней,
обязательно удалите из вашего конфига Total7zip.xml
узел <formats ...>
старые версии плагина могли неправильно связывать форматы и расширения в случае сложных, многоуровневых архивов.
что и было видно на примере некоторых MSI.

по возможности отпишитесь, как у вас работает эта версия,
а то получается, что почти один только XXXLer помогает мне с тестированием. большое спасибо!
Аватара пользователя
mrmerak
Сообщения: 441
Зарегистрирован: Пн авг 20, 2007 03:48

Сообщение mrmerak »

Total7zip
а то получается, что почти один только XXXLer помогает мне с тестированием. большое спасибо!
просто с определенной версии у меня нет багов :)

Единственная просьба, сделать РидМи в более читабельном формате, rtf, doc или chm. Просто он сильно "вырос" и орентироваться в нем довольно тяжело.
TC 9.51 | Win10 1903
Аватара пользователя
ask-rus
Сообщения: 2077
Зарегистрирован: Вт ноя 10, 2009 14:06
Откуда: Russian Federation

Сообщение ask-rus »

Mr.Merak писал(а):по возможности отпишитесь, как у вас работает эта версия, а то получается, что почти один только XXXLer помогает мне с тестированием
Не ставил пока, но после праздников, быть может, приму участие. :wink:
Total7zip писал(а):возможно, я добавлю в будущем к Total7zip второй интерфейс - WDX
Возможно, хорошая новость, если будет поддержка всех популярных архивов в одном флаконе!
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
iglezz
Сообщения: 48
Зарегистрирован: Ср дек 08, 2010 18:38

Сообщение iglezz »

В 0.6.0.0 попалась бага:
В диалоге упаковки ставим галку на "Шифровать"
Тискаем Enter
Появляется диалог с настройками упаковки
Жмём Esc или кнопку "Отмена"
Получаем MessageBox "Не удаётся открыть файл" (с заголовком "Плагин")

Вот тут плагин должен или продолжить упаковку с ранее сохранёнными настройками (так правильнее, как мне кажется) или отменить упаковку вобще.
Аватара пользователя
Total7zip
Сообщения: 287
Зарегистрирован: Сб ноя 27, 2010 03:22

Сообщение Total7zip »

не понял, если можно подробнее раскажите.
что за MessageBox, лучше всего картинку,
я никаких сообщений по-русски не показываю.
то что я вижу у себя - просто отменяется упаковка, и это правильно.
iglezz
Сообщения: 48
Зарегистрирован: Ср дек 08, 2010 18:38

Сообщение iglezz »

Total7zip
Вот такой MessageBox:
Изображение
В этом случае пакуемый файл был в каталоге c:\temp (который прописан в %temp%) и отмена настроек окончилась вышеприведённым сообщением:

Код: Выделить всё

#	Time	Debug Print	
00000000	0.00000000	[224] [Total7zip] GetBackgroundFlags	
00000001	0.00680170	[224] [Total7zip] WARNING old total commander API, SetProcessDataProc, hArcData=-1	
00000002	0.00730149	[224] [Total7zip] WARNING old total commander API, SetChangeVolProc, hArcData=-1	
00000003	0.00762359	[224] [Total7zip] SetProcessDataProcW, hArcData=-1	
00000004	0.00791721	[224] [Total7zip] SetChangeVolProcW, hArcData=-1	
00000005	0.00820691	[224] [Total7zip] PackFilesW, PackedFile=c:\1\xcode.7z, flags=6(PK_PACK_SAVE_PATHS|PK_PACK_ENCRYPT)	
А в этом случае пакуемый файл был в любом другом каталоге и отмена прошла как и ожидалось:

Код: Выделить всё

00000006	9.90853596	[224] [Total7zip] GetBackgroundFlags	
00000007	9.91758442	[224] [Total7zip] WARNING old total commander API, SetProcessDataProc, hArcData=-1	
00000008	9.91815662	[224] [Total7zip] WARNING old total commander API, SetChangeVolProc, hArcData=-1	
00000009	9.91878700	[224] [Total7zip] SetProcessDataProcW, hArcData=-1	
00000010	9.91930866	[224] [Total7zip] SetChangeVolProcW, hArcData=-1	
00000011	9.92094326	[224] [Total7zip] PackFilesW, PackedFile=c:\1\xcode.7z, flags=6(PK_PACK_SAVE_PATHS|PK_PACK_ENCRYPT)	
00000012	9.92105675	[224] [Total7zip] will run C:\tc 5a\Addons\Total7Zip\7zG.exe in background	
00000013	10.09329414	[224] [Total7zip] waiting for 7zg.exe	
Ответить