Skip to content

[Enhancement] Other common ZIP compression algorithms support: Deflate64, LZMA, PPMd #2

@Kiyos

Description

@Kiyos

OS: Windows 10 Pro 21H2 x64
Dokan Library Version: 231
Dokan Driver Version: 400
App version: 1.4.5

When I try to access files in a ZIP archive where everything was compressed with Deflate64, or LZMA, or PPMd, I get the Compression method not supported error. Full stack example:

Context: ZipFs.CreateFile: A ZipException occurred while trying to read the file entry '/miniconda3/_conda.exe' from the archive. This often indicates that this specific file's data within the ZIP is corrupt, even if the archive's central directory is readable.
Exception Type: ZipException
Exception Message: Compression method not supported
Stack Trace:
   at ICSharpCode.SharpZipLib.Zip.ZipFile.TestLocalHeader(ZipEntry entry, HeaderTest tests)
   at ICSharpCode.SharpZipLib.Zip.ZipFile.LocateEntry(ZipEntry entry)
   at ICSharpCode.SharpZipLib.Zip.ZipFile.GetInputStream(Int64 entryIndex)
   at ICSharpCode.SharpZipLib.Zip.ZipFile.GetInputStream(ZipEntry entry)
   at SimpleZipDrive.ZipFs.CreateFile(String fileName, FileAccess access, FileShare share, FileMode mode, FileOptions options, FileAttributes attributes, IDokanFileInfo info) in C:\Sincronizar\source\repos\CSharp_SimpleZipDrive\SimpleZipDrive\ZipFs.cs:line 230

This is in itself strange, because Deflate64 algorithm has been used in ZIP at least since 2004. The other algorithms are not much newer than that. In my humble opinion, they all should be considered standard at this point, and they all offer better compression levels than DEFLATE.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions