UnZipMBS and Ubuntu

Hi !

I can’t seem to fix an issue I just discovered using UnZipMBS on Ubuntu 20.04.
Until now I was creating a zip archive with the default Ubuntu application file-roller. I uploaded it to my FTP, and downloaded it with my application and unzipped it with the UnZipMBS plugin. Everything was working perfectly.
Now when I download and unzip my archive the unzipped files all have a size of 0 (empty).
I haven’t changed anything in my Xojo code, so I don’t understand where the problem is. No error message when running the code.
It seems to me that lately, an update of the zip libraries has been done automatically by Ubuntu, but I’m not sure.
Are there parameters to use with UnZipMBS to solve this problem? Do you have an idea ?

Thanks in advance.

By curiosity, what happened if you download the ZIP file with a FTP utility other than your app and check the contents with an Ubuntu utility ?

No problem when I unzip the archive with the default Ubuntu file-roller application. Which is logical because the archive was created with this same application.

This file you unzipped, did you read it back from your FTP site ? If yes, then it may be UnZipMBS that has a problem.

The chain of event is:

  1. The file is zipped using file-roller.
  2. The file is uploaded to your FTP site.
  3. The file is downloaded from your FTP site.
  4. The file is unzipped using UnZipMBS.

The issue may arises at any of the steps. Since the ZIP file created by file-roller is fine, the that suggest the issue may arises in step 2, 3 or 4,

@Christian_Schmitz , do you have an idea about what is going wrong ?

Not sure what goes wrong for you.
I just build my “unzip with folders” example project, zipped up a file and run it on the Ubuntu 20 VM.
No problem. It works well.

But one idea came to me: The files in the zip my be either encrypted or have an algorithm for compression, which is not supported by UnzipMBS class.

So you could try the ArchiveReaderMBS class instead.

I tried the following 3 cases :

1 - The file is zipped using file-roller.
2 - The file is uploaded to my FTP site.
3 - The file is downloaded from my FTP site.
4 - The file is unzipped using file-roller.
Result : Everything is ok.

1 - The file is zipped using UnZipMBS.
2 - The file is uploaded to my FTP site.
3 - The file is downloaded from my FTP site.
4 - The file is unzipped using UnZipMBS.
Result : Everything is ok.

1 - The file is zipped using file-roller.
2 - The file is uploaded to my FTP site.
3 - The file is downloaded from my FTP site.
4 - The file is unzipped using UnZipMBS.
Result : all unzipped files have a size of 0 (empty)

As I said, everything worked perfectly for years. I did not modify the code of my app.

Maybe I should try changing the compression format to using 7zip compression, but I’d like to avoid recoding my app. Are there any parameters to use with UnZipMBS for 7zip compression to be supported ?

UnZipMBS does only zlib compression.
You can use ArchiveReaderMBS class for more options.

I did a workaround.
I compress my files with UnZipMBS and decompress them with UnZipMBS.
File-roller seems to be causing problems with UnZipMBS, due to a recent File-roller (and/or maybe zip libs) update.