This project is read-only.

a few things

Jun 23, 2009 at 12:49 PM


Firstly thank you for writing the SevenZipSharp project, interfacing with 7-zip from C# is normally very difficult to do and this makes it much easer.

1.     I have attempted to download the help file on a couple of different computers and I can never click on an item in the help and the description work properly, the page is always blank.

2.     I need to be able to list the contents of a zip/7z file I need the filename, size, and lastwritten as a list, I cannot see how to do it?

3.     A lot of the files that I compress are over the normal path size limitations (520 chars I think!), so I use a dll called delimon.Win32.IO.dll to allow for unicode paths and file names, have you any plas to support unicode path/files lengths?, If so I can help with some of the code.

4.     Do you support the use of Listfiles with 7-zip?







Jun 23, 2009 at 7:57 PM


1)The old notice for the 0.40 release:

To Windows XP SP2,3 and Vista users:
as usual, do not forget to unblock SevenZipDoc.chm if you want to view it (you can do it in the Properties window of this file).

Refer to old Discussions for details.

2)Use ArchiveFileData property of SevenZipExtractor.

3)7zip supports unicode file names by default, I tested long paths by myself. If you experience any exceptions, I would be glad to your help :)

4)What do you mean? Haven't heard about them)

Greetings, Vadim.

Jun 25, 2009 at 9:09 AM


thanks for the response.

1. Silly me....

2. Thanks, now I can read the help file.

3. In both the SevenZipCompressor and SevenZipExtractor classes you use System.IO.FileInfo, in my testing a file with a filename and path longer than 520 fails, it does not use the wide (unicode) API calls only Ansi calls.  I have some directories setup on my development box to test these and for instance when I attempt to backup a directory that has a very long path the following code fails.

        private bool RecursiveDirectoryEmptyCheck(string directory)
            DirectoryInfo di = new DirectoryInfo(directory);
            if (di.GetFiles().Length > 0)
                return false;
            bool empty = true;
            foreach (DirectoryInfo cdi in di.GetDirectories())
                empty &= RecursiveDirectoryEmptyCheck(cdi.FullName); // this is the line that fails....
                if (!empty)
                    return false;
            return true;

4. when using the command line version of 7-zip 7z there is a list file option that allows you to pass a file with the list of files/folders to be backed up to 7-zip, a usefull feature.







Jun 25, 2009 at 12:44 PM

Alex, (4): what about the CompressFiles function? It accepts an array of files and compresses it.