Visual Baisc Wie kann ich eine Zip Rar Datei entpacken ohne externe Programme?
Hallo,
Ich arbeite Momentan an einem kleinen Projekt mit einem Updater. Da man, soweit ich es mitbekommen habe keine Ordner ohne weiteres von einem FTP Server herunterladen kann, dachte ich, mir packe ich den Ordner mit 4 Unterordnern, einer .exe und einer .application Datei in eine ZIP und lade die runter und entpacke sie anschließend. Es funktioniert alles problemlos bis auf das Entpacken. Ich habe es bereits schon mit der System.IO.Compression.dll versucht, jedoch funktioniert dies auch nicht. Kennt jemand einen einfachen Weg dieses problem zu lösen?
Danke im Vorraus
Ich arbeite Momentan an einem kleinen Projekt mit einem Updater. Da man, soweit ich es mitbekommen habe keine Ordner ohne weiteres von einem FTP Server herunterladen kann, dachte ich, mir packe ich den Ordner mit 4 Unterordnern, einer .exe und einer .application Datei in eine ZIP und lade die runter und entpacke sie anschließend. Es funktioniert alles problemlos bis auf das Entpacken. Ich habe es bereits schon mit der System.IO.Compression.dll versucht, jedoch funktioniert dies auch nicht. Kennt jemand einen einfachen Weg dieses problem zu lösen?
Danke im Vorraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 297491
Url: https://administrator.de/contentid/297491
Ausgedruckt am: 08.11.2024 um 17:11 Uhr
7 Kommentare
Neuester Kommentar
Moin,
geht es hier um VB.Net oder VBA ? Wird leider aus deinem Post nicht ganz klar.
Wenn's sich um VBA/VBS und simple ZIP-Dateien handelt, here you go:
Gruß jodel32
geht es hier um VB.Net oder VBA ? Wird leider aus deinem Post nicht ganz klar.
Wenn's sich um VBA/VBS und simple ZIP-Dateien handelt, here you go:
Sub ExtractZip (zipFile, sFolder)
With CreateObject("Scripting.FileSystemObject")
zipFile = .GetAbsolutePathName(zipFile)
sFolder = .GetAbsolutePathName(sFolder)
End With
With CreateObject("Shell.Application")
.NameSpace(sFolder).CopyHere .NameSpace(zipFile).Items, 16
End With
End Sub
Bekomme bei Items, 16 einen Fehler: Methodenargumente müssen in Klammern stehen.
Es geht übrigens um VB.net
Logisch wenn du meinen Kommentar dazu gelesen hättest , das war ja VBA/VBS und nicht VB.NET !Es geht übrigens um VB.net
Wenn man will lässt sich das aber auch für vb.net umschreiben, aber wieso wenn es ja den Namespace System.IO.Compression gibt.
Ich habe es bereits schon mit der System.IO.Compression.dll versucht, jedoch funktioniert dies auch nicht. Kennt jemand einen einfachen Weg dieses problem zu lösen?
Wo war dabei das Problem ?? Da gibt es absolut keins, das funktioniert einwandfrei so lange man ein aktuelles .NET Framework ab 4.5 verwendet ...ZipFile.ExtractToDirectory
Dann wurde ein vom .NET nicht unterstützer Komprimierungsalgorithmus (z.B. deflate64) beim Erstellen des Zip-Files verwendet.
Ja, geht hier mit einem von Windows selbst und WinRAR erzeugten ZIP-File einwandfrei. Dein File muss also irgendetwas unreguläres enthalten.
Ein RAR mit ZIP-Erweiterung kannst du damit natürlich nicht entpacken, das sollte klar sein.
Ein RAR mit ZIP-Erweiterung kannst du damit natürlich nicht entpacken, das sollte klar sein.