Alla fine ci sono riuscito![]()
Vorrei segnalare un altro sito che spiega molto meglio, rispetto a DotNetHell che tralascia molte cose a livello di codice(non chiude lo stream, ecco perché il file mi risultava danneggiato!), come usare questa libreria, il link è
http://www.boschin.it/blogs/radicalm...arpziplib.aspx
Questo è il codice al quale sono arrivato per comprimere un'intera cartella più un file che non appartiene alla cartella(archivio.mdb):
Qualsiasi problema sono a completa disposizionecodice:Dim s As New ZipOutputStream(File.Create(PercorsoBackupFile)) Dim fs As FileStream Dim buffer() As Byte Dim myEntry As New ZipEntry(Application.StartupPath & "\archivio.mdb") s.SetLevel(CompressLevel) fs = File.OpenRead(Application.StartupPath & "\archivio.mdb") ReDim buffer(fs.Length) 'Leggo il buffer fs.Read(buffer, 0, buffer.Length) myEntry = New ZipEntry(Application.StartupPath & "\archivio.mdb") 'Aggiungo la entry al file zip s.PutNextEntry(myEntry) 'Scrivo il buffer s.Write(buffer, 0, buffer.Length) s.CloseEntry() 'l'ho messo io questo fs.Close() Dim fi As FileInfo = New FileInfo(Application.StartupPath & "\archivio\") Dim di As DirectoryInfo = fi.Directory Dim fsi As FileSystemInfo() = di.GetFiles() For Each info As FileSystemInfo In fsi fs = File.OpenRead(Application.StartupPath & "\archivio\" & info.Name) ReDim buffer(fs.Length) 'Leggo il buffer fs.Read(buffer, 0, buffer.Length) myEntry = New ZipEntry(Application.StartupPath & "\archivio\" & info.Name) 'Aggiungo la entry al file zip s.PutNextEntry(myEntry) 'Scrivo il buffer s.Write(buffer, 0, buffer.Length) s.CloseEntry() 'l'ho messo io questo Next s.Finish() 'chiudo lo stream s.Close() 'chiudo il file![]()
Ps. Ovviamente il tutto funziona se si mette la Dll in questione tra i riferimenti e si usa la direttiva
Imports ICSharpCode.SharpZipLib.Zip
Adesso mi mana la decompressione...non appena ci riesco mi rifaccio vivo.

Rispondi quotando