In TC9.0RC5 TCMDLZMA.DLL is still ver. 9.20

Bug reports will be moved here when the described bug has been fixed

Moderators: white, Hacker, petermad, Stefan2

Post Reply
Jivan_Mukta
Junior Member
Junior Member
Posts: 28
Joined: 2013-09-23, 19:25 UTC

In TC9.0RC5 TCMDLZMA.DLL is still ver. 9.20

Post by *Jivan_Mukta »

In contrast to TC7Z.DLL and TC7Z64.DLL where the version already is 16.04
FileInfo plugin displays v.9.20 for TCMDLZMA.DLL although Last Modif. Date 09/11/2016
http://www.7-zip.org/sdk.html
damieri
Junior Member
Junior Member
Posts: 31
Joined: 2003-07-10, 04:40 UTC

7-Zip 16.04

Post by *damieri »

I mentioned this to try to TC help development weeks ago in a related 7-Zip topic in my detailed LZMA SDK 16.04 post but it seemed to be missed (or ignored) :(

Code: Select all

Total Commander 8.52a (2015-09-17)
TCMDLZMA.DLL     70,144    LZMA library 4.63
TCLZMA64.DLL    103,424    LZMA library 9.20

Total Commander 9.0RC4 (2016-11-02)
TCMDLZMA.DLL     81,408    LZMA library 9.20
TCLZMA64.DLL    103,424    LZMA library 9.20

LZMA SDK
lzma463.tar.bz2    288,057    2008-12-31    4.63    \C\LzmaLib\makefile
lzma920.tar.bz2    534,077    2010-11-18    9.20    \C\Util\LzmaLib\makefile
lzma1604.7z        971,074    2016-10-04    16.04   \C\Util\LzmaLib\makefile
The latest LZMA library 16.04 source code is in both official 7-Zip source files 7z1604-src.7z and lzma1604.7z

TC uses free and open source 7-Zip in its files:
TC7Z.DLL
TC7Z64.DLL
TC7ZIPIF.DLL
TCLZMA64.DLL
TCMDLZMA.DLL

I had a further look into the two TC LZMA files which are still using six year old (2010) 9.20 source and I still believe it is time to update these in TC as there have been many bug and security fixes to 7-Zip open source for LZMA/LZMA2/XZ compression/decompression since 9.20.

TCMDLZMA.DLL (32bit) and TCLZMA64.DLL (64bit) seem to be custom versions of the standard LZMA library which are used by TC to pack+unpack ZIP files with method 14 (LZMA) and unpack-only ZIP files with method 95 (XZ).

After looking at the identical 16 export names of both TCMDLZMA.DLL and TCLZMA64.DLL (using 7-Zip 9.20 source) there may be a little more custom recompiling involved as it seems the current 16.04 Xz.h source now uses XzUnpacker_Construct rather than XzUnpacker_Create in the old 9.20 source code.

Best regards.
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Use the Total7zip plugin and you can always use the latest 7zip files without waiting for updated TC.
It also can handle much more formats.
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
damieri
Junior Member
Junior Member
Posts: 31
Joined: 2003-07-10, 04:40 UTC

Missed the whole point!

Post by *damieri »

Horst.Epp wrote:Use the Total7zip plugin and you can always use the latest 7zip files without waiting for updated TC.
It also can handle much more formats.
Horst.Epp I am very disappointed with that reply and there seems to be a strong reluctance around here to improve and/or update when there is a major new TC release 9 currently being developed.

I (and IMHO) also think the topic starter Jivan_Mukta did not waste our considerable time writing our posts to just be ignored or get excuses. I, for one, am trying to genuinely help the author and others as an enthusiatic TC user. You are even using my mmedia 2.6.2.1 fork to play .flac files I recall so I have helped you too.

I know TC7ZIPIF.DLL TC7Z.DLL TC7Z64.DLL are used ONLY to UNPACK 7-Zip files and these have finally been updated to latest 16.04 code, but
TCMDLZMA.DLL and TCLZMA64.DLL have not and are still using VERY OLD 9.20 code. That is the whole point, and actually writing this is perhaps wasting more of my genuine time trying to help positively.

For CREATING 7-Zip .7z or more advanced .ZIP archives I personally prefer to use 7-Zip native command line tools and not even the very impressively coded Total7zip.wcx Total7zip.wcx64 (multi-single-file WCX/WDX/WLX) TC plugins with latest 32+64bit 7z.dll 7z.sfx 7zG.exe 7-zip.chm.

Using the native 7-Zip command line tools such as 7z.exe you can specify very specific and more technical parameters that cannot be done by GUI methods which can produce much more efficient archives for more demanding enthusiasts like myself, but this is getting beyond the scope of this and the other mentioned topic.

For informational purposes and to demonstrate some possibilities:
7z1604-src.7z\DOC\Methods.txt

Code: Select all

04.. - Misc codecs

   00 - Reserved

   01 - [Zip]
      00 - Copy (not used. Use {00} instead)
      01 - Shrink
      06 - Implode
      08 - Deflate
      09 - Deflate64
      0A - Imploding
      0C - BZip2 (not used. Use {040202} instead)
      0E - LZMA (LZMA-zip)
      5F - xz
      60 - Jpeg
      61 - WavPack
      62 - PPMd (PPMd-zip)
      63 - wzAES
Peace :)
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6450
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Re: Missed the whole point!

Post by *Horst.Epp »

damieri wrote:
Horst.Epp wrote:Use the Total7zip plugin and you can always use the latest 7zip files without waiting for updated TC.
It also can handle much more formats.
Horst.Epp I am very disappointed with that reply and there seems to be a strong reluctance around here to improve and/or update when there is a major new TC release 9 currently being developed.
...
Peace :)
There where discussions about compatibility with obsolete OSs like Win9x.
So Christian decided to compile the modules themself,
what I think is wasting time.
He should deliver the actual DLLs from 7zip and so all new functions are available.
Users of unsupported OSs can still use older 7zip DLLs.
Windows 11 Home x64 Version 23H2 (OS Build 22631.3374)
TC 11.03 x64 / x86
Everything 1.5.0.1371a (x64), Everything Toolbar 1.3.2, Listary Pro 6.3.0.69
QAP 11.6.3.2 x64
damieri
Junior Member
Junior Member
Posts: 31
Joined: 2003-07-10, 04:40 UTC

Getting off topic! Just update the six year old DLLs please!

Post by *damieri »

Firstly, apologies to the original topic poster Jivan_Mukta as I originally agreed with this (his) topic and I feel it is becoming hijacked with too much rhetoric :(
Horst.Epp wrote:There where discussions about compatibility with obsolete OSs like Win9x.
So Christian decided to compile the modules themself,
what I think is wasting time.
He should deliver the actual DLLs from 7zip and so all new functions are available.
Users of unsupported OSs can still use older 7zip DLLs.
I strongly disagree and congratulated the author in my post for his great solution in his post of avoiding a similar TC7Z9x.dll to the closed source UnRAR9x.dll to solve (and make happy) the request by topic starter MaxX by the author recompiling the 7-Zip open source himself, which again just proves the advantages of open source.

This excellent lateral thinking by the author can then apply to many other sources such as this topic's 32bit TCMDLZMA.DLL to recompile latest sources with appropriate compilers (Visual C++ 6.0) to make them compatible with ALL 32bit Windows OS's such as 9x/ME.

So, KUDOS again to ghisler(Author) for that great idea which I happily admit I did not contemplate.

That is probably EXACTLY why Windows/Total Commander is such an indispensable tool for many of us.

Cheers :D
Jivan_Mukta
Junior Member
Junior Member
Posts: 28
Joined: 2013-09-23, 19:25 UTC

Post by *Jivan_Mukta »

TCMDLZMA.DLL and TCLZMA64.DLL was entered in TC 7.50 long before internal/native Un-7z support.
Since both LZMA and XZ methods are parts of 7-zip then why we need TCMDLZMA.DLL and TCLZMA64.DLL? Why TC7Z.DLL and TC7Z64.DLL are not enough for this?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

TCMDLZMA.DLL and TCLZMA64.DLL do not contain the functions to handle 7zip file structure. They are used to handle the LZMA method in ZIP files. The TC7Z.DLL doesn't contain the functions to pack LZMA, and doesn't export the functions to unpack individual LZMA streams either.

I could try to merge the two, but it's a bad moment to do that now because it could cause many problems.

I have recompiled the newer dlls from source for now.
Author of Total Commander
https://www.ghisler.com
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

I have updated the two DLLs now in TC9RC6. Please try the updated functions!

To pack with LZMA, you need to add

LzmaAllowed=1

to section [Packer] in wincmd.ini. Then choose ZIP packer strength 10. Warning: Programs like the Explorer cannot unpack files packed with this method! That's why creating it is disabled by default. Unpacking such files is always enabled, though.
Author of Total Commander
https://www.ghisler.com
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

So, has anyone tried the new dlls yet?
Author of Total Commander
https://www.ghisler.com
damieri
Junior Member
Junior Member
Posts: 31
Joined: 2003-07-10, 04:40 UTC

ENTHUSIASM LOST!

Post by *damieri »

TC 9 beta 2 - Avast Antivirus removes TC exe file wrote:I guess that this is the same bullsh*t detector as in Norton/Symantec Antivirus: If very few people use a program, the scanner automatically classifies it as an unknown virus (so called "reputation"). Maybe you can try to submit it to them from the quarantine, or send them the URL...
Total Commander 9.0 release candidate 6 available wrote:This version mainly fixes bugs. Actually it would have been ready for final release, but because of the update of the files tcmdlzma.dll and tclzma64.dll there is another release candidate.
ghisler(Author) wrote:So, has anyone tried the new dlls yet?
I have done exhaustive tests for my own knowledge and enthusiasm to learn and update (I happily contribute and donate to Wikipedia BTW) of most ZIP ZIPX methods using most of the latest available archiving programs from PKZIP Info-Zip WinZip WinRAR TC 7-Zip and came to some very interesting conclusions.

But, in light of my recent (deceitful) treatment here especially in the 46502 topic, and after thinking properly about it overnight, I now realise my good nature has been abused, and there is a lot of spite and contempt (bordering on hate) towards me. I understand now why some TC plugin authors are reluctant to update their plugins as they may have had their passion and enthusiasm destroyed here like mine. I also reflect back now on the reasons and re-understand why I did not post here for a long long time. I could say a lot of retaliatory bad things but I choose NOT to, and only the following:

YOU ARE RIGHT, SIR! YOU ARE ALWAYS RIGHT SIR!
I AM WRONG, SIR! I AM ALWAYS WRONG SIR!
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Sorry if I offended you by asking you to test the dlls you requested, that wasn't my intention. I'm just a bit annoyed that people request things or report bugs, and then when it's added they don't come back to test what they requested.
Author of Total Commander
https://www.ghisler.com
Post Reply