tomap / SevenZipSharp

Fork of SevenZipSharp on CodePlex
Other
61 stars 165 forks source link

Lzma2 - Compress Error #7

Open rafko-sc opened 7 years ago

rafko-sc commented 7 years ago

My code: _zipEncode = new SevenZipCompressor(); _zipEncode.TempFolderPath = _workingDir; _zipEncode.ArchiveFormat = OutArchiveFormat.SevenZip; _zipEncode.CompressionMode = CompressionMode.Create; _zipEncode.CompressionMethod = CompressionMethod.**Lzma2**; _zipEncode.CompressionLevel = CompressionLevel.Ultra;

If I set the parameters (Lzma2) SevenZipSharp does not work. Creates an archive file size 32 Baity and break operation.

Lzma working properly.

chester89 commented 7 years ago

@rafko-sc have you figured this out? What kind of exception do you see?

rafko-sc commented 7 years ago

This code:

string path7z = string.Format(@"{0}\7z.dll", Environment.CurrentDirectory); // version: 16.4.0.0 SevenZipCompressor.SetLibraryPath(path7z);

_zipEncode = new SevenZipCompressor(); _zipEncode.TempFolderPath = _workingDir; _zipEncode.ArchiveFormat = OutArchiveFormat.SevenZip; _zipEncode.CompressionMode = CompressionMode.Create; _zipEncode.CompressionMethod = CompressionMethod.Lzma2; _zipEncode.CompressionLevel = CompressionLevel.Ultra; _zipEncode.FastCompression = true; _zipEncode.EventSynchronization = EventSynchronizationStrategy.AlwaysAsynchronous; _zipEncode.CustomParameters.Add("mt", "on"); // Multi Threading

using (FileStream creader = new FileStream(outFile, FileMode.CreateNew)) { _zipEncode.CompressFiles(creader, files); creader.Close(); creader.Dispose(); }

I get this error:

image

StackTrace:

in SevenZip.SevenZipBase.ThrowException(CallbackBase handler, Exception[] e) w C:\projects\sevenzipsharp\SevenZip\Common.cs:wiersz 339\r\n w SevenZip.SevenZipBase.CheckedExecute(Int32 hresult, String message, CallbackBase handler) w C:\projects\sevenzipsharp\SevenZip\Common.cs:wiersz 366\r\n w SevenZip.SevenZipCompressor.CompressFilesEncrypted(Stream archiveStream, Int32 commonRootLength, String password, String[] fileFullNames) w C:\projects\sevenzipsharp\SevenZip\SevenZipCompressor.cs:wiersz 1183\r\n w SevenZip.SevenZipCompressor.CompressFiles(Stream archiveStream, String[] fileFullNames) w C:\projects\sevenzipsharp\SevenZip\SevenZipCompressor.cs:wiersz 1035\r\n

rafko-sc commented 7 years ago

Ok, problem is solved. Must be set (for Lzma2):

_zipEncode.CompressionLevel = CompressionLevel.None;