In C# können auf einfachste Weise Dateien und Ordner gepackt und wieder entpackt werden.
Da Visual Studio leider keine Bibliothek besitzt um ZIP-Dateien (zip) zu erstellen, wird WIX Toolset benötigt. In diesem Beispiel wurde das englischsprachige Visual Studio Community verwendet. Die dazugehörige Dokumentation ist folgendermaßen zu finden:
- 32-Bit: %ProgramFiles%\WiX Toolset v3.11\doc\DTFAPI.chm
- 64-Bit: %ProgramFiles(x86)%\WiX Toolset v3.11\doc\DTFAPI.chm
(Versionsnummern können sich ändern)
Verwendete Programme
- Visual Studio 2015 Community / Visual Studio 2017 Community
(visualstudio.com) - WIX Toolset
(wixtoolset.org)
Vorgehensweise
- WIX Toolset installieren
- Visual Studio öffnen
- Neue Windows Forms erstellen
- Unter References → Add Reference und nach Microsoft.Deployment.Compression.Zip suchen und Häkchen zum Verwenden setzen und mit OK bestätigen
- In der Codeansicht unter den using folgendes hinzufügen:
using Microsoft.Deployment.Compression.Zip;
In der Design-Ansicht 2 Schaltflächen hinzufügen, eine mit Packen und die andere mit Entpacken beschriften
- Schaltfläche Packen doppelt anklicken und folgenden Code einfügen
try { // CREATING ZIP FILE BY ADDING FOLDER (WITH SUB-FOLDERS) USING MINIMUM COMPRESSION var zip = new ZipInfo(@"files.zip"); zip.Pack(@"files", true, CompressionLevel.Max, null); } catch (Exception ex) { MessageBox.Show(ex.Message, "Fehler"); }
Zur Sicherheit werden Fehler durch try catch abgefangen
- Schaltfläche Entpacken doppelt anklicken und folgenden Code einfügen
try { // EXTRACTING (UNPACKING) FILES FROM ZIP FILE var zip = new ZipInfo(@"files.zip"); zip.Unpack(@"filesNew"); } catch (Exception ex) { MessageBox.Show(ex.Message, "Fehler"); }
Beispieldateien befinden sich im Hauptordner
Fertige Beispielprojektdatei:
Ursprüngliche Quelle: codesupport.wordpress.com/2011/02/08/zip/