DiskDir Extended

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
Postkutscher
Power Member
Power Member
Posts: 556
Joined: 2006-04-01, 00:11 UTC

Post by *Postkutscher »

fenix_productions wrote:That's what I did but I know other people might not find it and complain :)
You are right :)


TrePe
Just reportet on the russian forum and retested by me:
Plugin shows cyrillic names in unreadable enconding for the files within iso-images.
I must say, that v. 1.55 under TC7.04a behaves the same way, I have simply not noticed it before. :(
And could you please clarify a bit configuration of the new version?
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

Thanks for adding UseCanHandleThisFileForWCXsExtensions feature! :)

But I need to understand the reason of following. I set to check if EXE may be expanded as archive (UseCanHandleThisFileForWCXsExtensions=exe) and add to DIR archive folder with: just files, CAB-archives, installations, 7Z-SFX-archives, CAB-SFX-archives, ZIP-SFX-archive. But unfortunately plugin expands only contents of 7Z-SFX, CAB-SFX and ZIP-SFX archive adds as just a file. Is it because I have only external plugin for 7Z while CAB and ZIP files TC handles internally? But my InnoSetup installers also added as files despite I have external plugin for it (via Multiarc).

Also I pack 7Z file and DIR file into archive, both added as files instead of archives.

Also I have one 7Z archive, after packing it into DIR (archive or it archive with SFX stub) I see all files as folders but with size and attributes set. I'll try to check out which archives are being added so. Strange thing, recreating of archive fixed situation (old 7Z specification?). Both archives I may browse and unpack, but when I add both to DIR archive, one is added correctly and other in described above way - all files as directories. Seems that my 7Z plugin says that they are directories? But why TC see right contents?

Version 1.65 and 1.60 act in similar way in all described cases (UseCanHandleThisFileForWCXs=yes).
alva
Junior Member
Junior Member
Posts: 11
Joined: 2009-08-08, 18:15 UTC

Post by *alva »

Very useful plugin. TrePe, thanks.


Postkutscher wrote: TrePe
Just reportet on the russian forum and retested by me:
Plugin shows cyrillic names in unreadable enconding for the files within iso-images.
I must say, that v. 1.55 under TC7.04a behaves the same way, I have simply not noticed it before. :(
Yes, DiskDir Extended issue with Cyrillic names in unreadable encoding for files within iso-images is really big problem.
Interesting that iso plugin 1.7.6 works fine in this situation. But DiskDir Extended doesn't let specify priorities of WCX plugins over DiskDir Extended built-in listing methods.
alva
Junior Member
Junior Member
Posts: 11
Joined: 2009-08-08, 18:15 UTC

Post by *alva »

Now "Compare Directories" doesn't work with listed archives. Because DiskDir Extended represents archives by folders. So user have to compare hundreds of files<>folders by his own eyes:

Code: Select all

file: Archive1.7z ## 2 413 879 560 bytes ## 2009.3.16 ## 15:27.26 << and >> folder: Archive1.7z\ ## 2 413 879 560 bytes ## 2009.3.16 ## 15:27.26
file: Archive2.rar ## 713 879 561 bytes ## 2008.3.17 ## 12:22.01 << and >> folder: Archive2.rar\ ## 713 879 561 bytes ## 2008.3.17 ## 12:22.01
file: Archive3.sqx ## 51 413 990 bytes ## 2009.1.12 ## 15:17.16 << and >> folder: Archive3.sqx\ ## 51 413 990 bytes ## 2009.1.12 ## 15:17.16
...
...
file: ArchiveN.zip ## 12 773 879 001 bytes ## 2005.3.25 ## 22:29.56 << and >> folder: ArchiveN.zip\ ## 12 773 879 001 bytes ## 2005.3.25 ## 22:29.56
TrePe, (to fix this problem) please add next options:
  1. List only archives - list files only from enabled in options archives, exclude (don't list) all other files and files from not enabled in options archives.
    E.g. from:

    Code: Select all

    TheDisc\
    archive.7z
    archive.rar
    archive.zip
    file.dat
    file.ext
    folder1\
    foldier1content.ext
    folder2\
    folder2content.ext
    
    if only 7z and rar are enabled in options - crate TheDisc.lst with:

    Code: Select all

    PathToTheDisc\
    archive.7z\
    7zArchiveContent.ext
    etc.ext
    archive.rar\
    RarArchiveContent.ext
    etc.ext
    
    This option let user quickly crate separated ".lst" (to/and don't waste main ".lst" by archives listings).
  2. List together archives' files (itself) and their content (at the same time)
    Example of TheDisc.lst (from "TheDisc\" from above):

    Code: Select all

    PathToTheDisc\
    archive.7z
    archive.rar
    archive.zip
    file.dat
    file.ext
    archive.7z\
    7zArchiveContent.ext
    etc.ext
    archive.rar\
    RarArchiveContent.ext
    etc.ext
    folder1\
    folder1content.ext
    folder2\
    folder2content.ext
    
    This option let user use "Compare Directories" (and browse content of archives in/from single ".lst").
  3. Prefix for archives with listed content - prefix for folders that represent archives;
    if Prefix = "Arc_" then TheDisc.lst:

    Code: Select all

    PathToTheDisc\
    archive.7z
    archive.rar
    archive.zip
    file.dat
    file.ext
    Arc_archive.7z\
    7zArchiveContent.ext
    etc.ext
    Arc_archive.rar\
    RarArchiveContent.ext
    etc.ext
    folder1\
    folder1content.ext
    folder2\
    folder2content.ext
    
    This option will help user distinguish folders from archives represented by folders.
  4. Folder for archives with listed content - folder (name) in which should be placed folders that represent archives;
    if ArchivesFolder = "!Arcs!" then TheDisc.lst:

    Code: Select all

    PathToTheDisc\
    archive.7z
    archive.rar
    archive.zip
    file.dat
    file.ext
    foldier1\
    foldier1content.ext
    foldier2\
    foldier2content.ext
    !Arcs!\archive.7z\
    7zArchiveContent.ext
    etc.ext
    !Arcs!\archive.rar\
    RarArchiveContent.ext
    etc.ext
    
    This option let separate archives represented by folders from regular folders.
Last edited by alva on 2009-08-09, 22:23 UTC, edited 2 times in total.
alva
Junior Member
Junior Member
Posts: 11
Joined: 2009-08-08, 18:15 UTC

Post by *alva »

DiskDir Extended doesn't work with WCX plugins that registered with environment variable

Code: Select all

%COMMANDER_PATH%
in

Code: Select all

[PackerPlugins]
section of wincmd.ini.
E.g.:

Code: Select all

[PackerPlugins]
multiarc=223,%COMMANDER_PATH%\plugins\wcx\Multiarc\MultiArc.wcx
7z=79,%COMMANDER_PATH%\plugins\wcx\Multiarc\MultiArc.wcx
sqx=607,%COMMANDER_PATH%\plugins\wcx\Total SQX\TotalSQX.wcx
DiskDir Extended works only with WCX plugins that registered with full file names, including the complete path:

Code: Select all

C:\Program Files\totalcmd
instead of

Code: Select all

%COMMANDER_PATH%
E.g.:

Code: Select all

[PackerPlugins]
multiarc=223,C:\Program Files\totalcmd\plugins\wcx\Multiarc\MultiArc.wcx
7z=79,C:\Program Files\totalcmd\plugins\wcx\Multiarc\MultiArc.wcx
sqx=607,C:\Program Files\totalcmd\plugins\wcx\Total SQX\TotalSQX.wcx
Is environment variable

Code: Select all

%COMMANDER_PATH%
incompatible with DiskDir Extended?
alva
Junior Member
Junior Member
Posts: 11
Joined: 2009-08-08, 18:15 UTC

Post by *alva »

DiskDir Extended doesn't work with WCX plugins that registered with upper case (of letters) in

Code: Select all

[PackerPlugins]
section of wincmd.ini.
E.g.:

Code: Select all

[PackerPlugins]
MultiArc=223,C:\Program Files\totalcmd\plugins\wcx\Multiarc\MultiArc.wcx
IShield=68,C:\Program Files\totalcmd\plugins\wcx\IShield\IShield.wcx
InstallExplorer=68,C:\Program Files\totalcmd\plugins\wcx\InstallExplorer\InstExpl.wcx
DiskDir Extended ignore these WCX plugins in

Code: Select all

[EquivalentExtensions]
of DiskDirExtended.ini:

Code: Select all

[EquivalentExtensions]
ExAmPlE=ext
MultiArc=7z,hlp,uha
InstallExplorer=exe,msi
These WCX plugins always enabled regardless DiskDirExtended.ini:

Code: Select all

[ListingOptions]
ListNever=InstallExplorer,IShield,MultiArc
DiskDir Extended works only with WCX plugins that registered with lower case.
E.g.:

Code: Select all

[PackerPlugins]
multiarc=223,C:\Program Files\totalcmd\plugins\wcx\Multiarc\MultiArc.wcx
ishield=68,C:\Program Files\totalcmd\plugins\wcx\IShield\IShield.wcx
installexplorer=68,C:\Program Files\totalcmd\plugins\wcx\InstallExplorer\InstExpl.wcx

Code: Select all

[EquivalentExtensions]
example=ext
multiarc=7z,hlp,uha
installexplorer=exe,msi

Code: Select all

[ListingOptions]
ListNever=installexplorer,ishield,multiarc
Read additional information in this post.
Last edited by alva on 2009-08-16, 07:38 UTC, edited 1 time in total.
alva
Junior Member
Junior Member
Posts: 11
Joined: 2009-08-08, 18:15 UTC

Post by *alva »

DiskDir Extended can list content of archives with help of MultiArc only after any (at least one) action by MultiArc (out of DiskDir Extended):
multiarc.hlp:
Commands
  • List - produce listing; // enter in archive (by Total Commander) by double-click, CTRL+PgDn or ENTER
  • Extract - extract file from archive;
  • Test - test archive;
  • Add - add file to archive;
  • etc
Last edited by alva on 2009-08-09, 22:36 UTC, edited 1 time in total.
alva
Junior Member
Junior Member
Posts: 11
Joined: 2009-08-08, 18:15 UTC

Post by *alva »

DiskDir Extended drops debug_unrar.txt in

Code: Select all

c:\Temp
when lists RAR archives into ".lst"

debug_unrar.txt typically filled by multiple samples of:

Code: Select all

   275006 ms (line 719 in .\libs\unrarlib\unrarlib.c):
              - file header broken
   275006 ms (line 523 in .\libs\unrarlib\unrarlib.c):
              - Couldn't read next filename from archive (I/O error).
Operations with RAR archives by Total Commander (unpack/list/test) don't create debug_unrar.txt in this folder.
Tested with DiskDir Extended 1.65 and 1.60 (tcmd704a and tcmd75b8).
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I don't understood anything... ZIP, RAR, CAB plugin expands as folders.

7Z archives doesn't expands although I have 7Z plugin v. 0.64 (with 0.5.4 also don't work) and Muitlarc also can handle 7Z archives. BTW, I'd tried to replace %COMMANDER_PATH% with full path in wincmd.ini and no differences.

EXE doesn't expand at all (ZIP, CAB, 7Z) (UseCanHandleThisFileForWCXs=yes, UseCanHandleThisFileForWCXsExtensions=exe).
alva
Junior Member
Junior Member
Posts: 11
Joined: 2009-08-08, 18:15 UTC

Post by *alva »

MVV, post content of your [PackerPlugins] section of wincmd.ini. It will help understand your problem.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

alva wrote:MVV, post content of your [PackerPlugins] section of wincmd.ini. It will help understand your problem.
Here an example of section when 7z archives are added as files but not as folders:

Code: Select all

[PackerPlugins]
7Z=95,E:\TOTALCMD\Plugins\Packer\7Zip\7Zip.wcx
DIR=31,E:\TOTALCMD\Plugins\Packer\DiskDirExtended\DiskDirExtended.wcx
MULTIARC=197,E:\TOTALCMD\Plugins\Packer\Multiarc\Multiarc.wcx
alva
Junior Member
Junior Member
Posts: 11
Joined: 2009-08-08, 18:15 UTC

Post by *alva »

MVV, fixed [PackerPlugins] of wincmd.ini:

Code: Select all

[PackerPlugins]
7z=95,E:\TOTALCMD\Plugins\Packer\7Zip\7Zip.wcx
DIR=31,E:\TOTALCMD\Plugins\Packer\DiskDirExtended\DiskDirExtended.wcx
multiarc=197,E:\TOTALCMD\Plugins\Packer\Multiarc\Multiarc.wcx
7Z= > 7z=
MULTIARC= > multiarc=
Read this post.

Before (each) first (after start of Total Commander) use of MultiArc perform action form this post.
alva
Junior Member
Junior Member
Posts: 11
Joined: 2009-08-08, 18:15 UTC

Post by *alva »

Interesting thing: regardless of letters case in

Code: Select all

[PackerPlugins]
section of wincmd.ini, DiskDir Extended works with WCX plugins in:

Code: Select all

UseCanHandleThisFileForWCXs=
UseCanHandleThisFileForWCXsExtensions=
of DiskDirExtended.ini.

This information related to this post.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

alva wrote:MVV, fixed [PackerPlugins] of wincmd.ini:
7Z= > 7z=
MULTIARC= > multiarc=
Read this post.
Thanks, this was the reason of why DD-E worked before and don't work for now. Sorry, I had read your post carelessly. :roll:

BTW, DD-E had listed 7-Zip setup.exe (NSIS, multiarc with 7z.exe) even without entering it (immediately after TC restart). Also it had listed 7Z EXE, MSI (also w/o first action with Multiarc). But CAB SFX DD-E hadn't listed. I have UseCanHandleThisFileForWCXsExtensions=7z,exe,dir.

I found strange thing. I don't change any TC and Multiarc settings, just some times restarted TC and packed with DD-E 7Z SFX archive (handled by Multiarc). In some cases archive was listed, in some cases not. I think it is some Multiarc bug. Sometimes Multiarc even don't open 7Z SFX archive.

I'd created an addon with zip, cab, rar signatures for 7z.exe unpacker in Multiarc and DD-E lists CAB SFX also. I think ZIP and RAR SFX also may be listed with this trick 'til DD-E will use internal TC's SFX support.

Code: Select all

; Signatures for ZIP, CAB, RAR (any other supported may be added also)
ID=4D 53 43 46, 50 4B 03 04, 52 61 72 21
SkipSfxHeader=1
IDPos=<SeekID>
Extension=exe
Maybe it is possible to add just EXE signature and ignore errors.

I have a file "HP LaserJet 1200 WinNT Driver.exe" (MD5: 7B56C51709A5EF84F3A3BA6154A942B0) which DD-E lists incorrectly:
DD-E wrote:D:\
HP_LaserJet_1200_WinNT_Driver.exe\ 4109568 2008.4.8 10:48.32
HP_LaserJet_1200_WinNT_Driver.exe\\ 0 2000.10.6 5:38.26
HP_LaserJet_1200_WinNT_Driver.exe\\pcl5e\ 0 2000.10.6 5:38.26
HPBAFD32.DL_ 73388 2000.10.6 5:38.26
<skipped_lines>
HPLicen.txt 6020 1996.10.7 9:53.58
HP_LaserJet_1200_WinNT_Driver.exe\\pcl6\ 0 2000.10.6 5:38.26
HPBAFD32.DL_ 73388 2000.10.6 5:38.26
<skipped_lines>
HPLicen.txt 6020 1996.10.7 9:53.58
HP_LaserJet_1200_WinNT_Driver.exe\\ps\ 0 2001.10.4 8:55.42
hp1200ps.cat 8424 2001.10.4 8:55.42
<skipped_lines>
HPLicen.txt 6020 1996.10.7 15:53.58
DD-E need to wrote:D:\
HP_LaserJet_1200_WinNT_Driver.exe\ 4109568 2008.4.8 10:48.32
HP_LaserJet_1200_WinNT_Driver.exe\pcl5e\ 0 2000.10.6 5:38.26
HPBAFD32.DL_ 73388 2000.10.6 5:38.26
<skipped_lines>
HPLicen.txt 6020 1996.10.7 9:53.58
HP_LaserJet_1200_WinNT_Driver.exe\pcl6\ 0 2000.10.6 5:38.26
HPBAFD32.DL_ 73388 2000.10.6 5:38.26
<skipped_lines>
HPLicen.txt 6020 1996.10.7 9:53.58
HP_LaserJet_1200_WinNT_Driver.exe\ps\ 0 2001.10.4 8:55.42
hp1200ps.cat 8424 2001.10.4 8:55.42
<skipped_lines>
HPLicen.txt 6020 1996.10.7 15:53.58
(replace all spaces with tabs after copying)
Last edited by MVV on 2009-08-17, 13:01 UTC, edited 1 time in total.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Post by *MVV »

I prepared test folder with different archives and many times pack it (each time restart TC for clean plugin instances). Sometimes folder packed normally.

Once I'd got an error 'Stack overflow' while packing, some info (maybe helps):

> DiskDirExtended.wcx!01896de7()
[Frames below may be incorrect and/or missing, no symbols loaded for DiskDirExtended.wcx]
DiskDirExtended.wcx!0188eeda()
DiskDirExtended.wcx!01877552()
(EAX = 01A02000 EBX = 00000000 ECX = 01A019F4 EDX = 01A05A44 ESI = 00000001 EDI = 00169BA8 EIP = 01896DE7 ESP = 01A039F4 EBP = 01A09B24 EFL = 00000206 CS = 001B DS = 0023 ES = 0023 SS = 0023 FS = 003B GS = 0000 OV = 0 UP = 0 EI = 1 PL = 0 ZR = 0 AC = 0 PE = 1 CY = 0)

Edit: 3/about 30 tests gave this error (same instruction, same general registers; different progress complete)

I don't know, maybe it's a Multiarc bug, w/o debug code it is hard to say.
Last edited by MVV on 2009-08-18, 09:50 UTC, edited 1 time in total.
Post Reply