2009-09-14 1 views
7

Sto utilizzando la libreria CSharpZipLib per comprimere automaticamente alcuni file. Il problema è che il file zip risultante non funziona con Winzip (versione 8.1) o le cartelle compresse di XP. Funziona con 7zip.C# con SharpZipLib - Compatibilità di SharpZipLib con Winzip e XP?

Winzip restituisce un errore che questo file non è nel formato Zip 2.0 standard.

Esiste un parametro che posso modificare per ottenere la compressione della libreria in un formato compatibile Winzip/XP?

risposta

14

Set questo nel vostro ZipOutputStream:

UseZip64 = ICSharpCode.SharpZipLib.Zip.UseZip64.Off 

Zip64 non è compatibile con l'utilità cartelle compresse di Windows XP o con WinZip.

Modifica: apparentemente l'API è cambiata dalla versione che sto usando, la proprietà ora è un enum piuttosto che un valore booleano.

+0

ho cercato s.UseZip64 = false ma VS2008 lamenta Impossibile convertire implicitamente il tipo 'bool' a 'ICSharpCode.SharpZipLib.Zip.UseZip64'? –

+0

È necessario utilizzare s.UseZip64 = UseZip64.Off –

+0

Grazie - ora funziona bene. –