Index: trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Advanced/InstallationManager.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Advanced/InstallationManager.cs	(revision 11634)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Advanced/InstallationManager.cs	(revision 11650)
@@ -23,8 +23,8 @@
 using System.Collections.Generic;
 using System.IO;
+using System.IO.Compression;
 using System.Linq;
 using System.ServiceModel;
 using HeuristicLab.PluginInfrastructure.Manager;
-using ICSharpCode.SharpZipLib.Zip;
 
 namespace HeuristicLab.PluginInfrastructure.Advanced {
@@ -183,29 +183,33 @@
 
     private void Unpack(byte[] zippedPackage) {
-      using (ZipInputStream s = new ZipInputStream(new MemoryStream(zippedPackage))) {
-        ZipEntry theEntry;
-        while ((theEntry = s.GetNextEntry()) != null) {
-          string directoryName = pluginDir;
-          string fileName = Path.GetFileName(theEntry.Name);
-          // create directory 
-          if (!string.IsNullOrEmpty(directoryName)) {
-            Directory.CreateDirectory(directoryName);
-          }
-          if (!string.IsNullOrEmpty(fileName)) {
-            string fullPath = Path.Combine(directoryName, fileName);
-            string fullDirPath = Path.GetDirectoryName(fullPath);
-            if (!Directory.Exists(fullDirPath)) Directory.CreateDirectory(fullDirPath);
-            using (FileStream streamWriter = File.Create(fullPath)) {
-              int size = 2048;
-              byte[] data = new byte[2048];
-              while (true) {
-                size = s.Read(data, 0, data.Length);
-                if (size > 0) {
-                  streamWriter.Write(data, 0, size);
-                } else {
-                  break;
+      using (MemoryStream memStream = new MemoryStream(zippedPackage)) {
+        using (ZipArchive zip = new ZipArchive(memStream, ZipArchiveMode.Read)) {
+          foreach (var theEntry in zip.Entries) {
+            string directoryName = pluginDir;
+            string fileName = Path.GetFileName(theEntry.Name);
+            // create directory 
+            if (!string.IsNullOrEmpty(directoryName)) {
+              Directory.CreateDirectory(directoryName);
+            }
+            if (!string.IsNullOrEmpty(fileName)) {
+              string fullPath = Path.Combine(directoryName, fileName);
+              string fullDirPath = Path.GetDirectoryName(fullPath);
+              if (!Directory.Exists(fullDirPath)) Directory.CreateDirectory(fullDirPath);
+              using (FileStream streamWriter = File.Create(fullPath)) {
+                int size = 2048;
+                byte[] data = new byte[2048];
+
+                using (BinaryReader reader = new BinaryReader(theEntry.Open())) {
+                  while (true) {
+                    size = reader.Read(data, 0, data.Length);
+                    if (size > 0) {
+                      streamWriter.Write(data, 0, size);
+                    } else {
+                      break;
+                    }
+                  }
                 }
+                streamWriter.Close();
               }
-              streamWriter.Close();
             }
           }
Index: trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Advanced/UploadPluginsView.cs
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Advanced/UploadPluginsView.cs	(revision 11634)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Advanced/UploadPluginsView.cs	(revision 11650)
@@ -25,9 +25,9 @@
 using System.Drawing;
 using System.IO;
+using System.IO.Compression;
 using System.Linq;
 using System.ServiceModel;
 using System.Windows.Forms;
 using HeuristicLab.PluginInfrastructure.Manager;
-using ICSharpCode.SharpZipLib.Zip;
 
 namespace HeuristicLab.PluginInfrastructure.Advanced {
@@ -262,10 +262,8 @@
     private static byte[] CreateZipPackage(IPluginDescription plugin) {
       using (MemoryStream stream = new MemoryStream()) {
-        ZipFile zipFile = new ZipFile(stream);
-        zipFile.BeginUpdate();
+        ZipArchive zipFile = new ZipArchive(stream, ZipArchiveMode.Create);
         foreach (var file in plugin.Files) {
-          zipFile.Add(file.Name);
-        }
-        zipFile.CommitUpdate();
+          zipFile.CreateEntry(file.Name);
+        }
         stream.Seek(0, SeekOrigin.Begin);
         return stream.GetBuffer();
Index: trunk/sources/HeuristicLab.PluginInfrastructure/3.3/HeuristicLab.PluginInfrastructure-3.3.csproj
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/3.3/HeuristicLab.PluginInfrastructure-3.3.csproj	(revision 11634)
+++ trunk/sources/HeuristicLab.PluginInfrastructure/3.3/HeuristicLab.PluginInfrastructure-3.3.csproj	(revision 11650)
@@ -114,11 +114,9 @@
     <Reference Include="System.Drawing" />
     <Reference Include="System.IdentityModel" />
+    <Reference Include="System.IO.Compression" />
     <Reference Include="System.Runtime.Serialization" />
     <Reference Include="System.ServiceModel" />
     <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Xml" />
-    <Reference Include="ICSharpCode.SharpZipLib">
-      <HintPath>ICSharpCode.SharpZipLib.dll</HintPath>
-    </Reference>
   </ItemGroup>
   <ItemGroup>
@@ -316,10 +314,4 @@
   </ItemGroup>
   <ItemGroup>
-    <Content Include="ICSharpCode.SharpZipLib License.txt">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
-    <Content Include="ICSharpCode.SharpZipLib.dll">
-      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
-    </Content>
     <EmbeddedResource Include="Advanced\DeploymentService\services.heuristiclab.com.cer" />
     <None Include="Resources\Error.ico" />
Index: trunk/sources/HeuristicLab.PluginInfrastructure/3.3/ICSharpCode.SharpZipLib License.txt
===================================================================
--- trunk/sources/HeuristicLab.PluginInfrastructure/3.3/ICSharpCode.SharpZipLib License.txt	(revision 11634)
+++ 	(revision )
@@ -1,13 +1,0 @@
-#ziplib (SharpZipLib, formerly NZipLib) is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform. It is implemented as an assembly (installable in the GAC), and thus can easily be incorporated into other projects (in any .NET language). The creator of #ziplib put it this way: "I've ported the zip library over to C# because I needed gzip/zip compression and I didn't want to use libzip.dll or something like this. I want all in pure C#."
-
-License
-
-The library is released under the GPL with the following exception:
-
-Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
-
-As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
-
-Note: The exception is changed to reflect the latest GNU Classpath exception. Older versions of #ziplib did have another exception, but the new one is clearer and it doesn't break compatibility with the old one.
-
-Bottom line: In plain English this means you can use this library in commercial closed-source applications.
