[
  {
    "Id": "158942",
    "ThreadId": "47472",
    "Html": "Hi,<br>\r\nThanks for the last message and it seems to work wonderful. The last hurdle i have is that once i have extracted the file, i would like to delete the original zip file which seems to be locked by ZipFile for some reason. I have tried Dispose, and setting it as null but neither seems to work.<br>\r\n<br>\r\nPlease help.<br>\r\n<br>\r\n<br>\r\n<strong>\r\n<p>\r\nIonic.Zip.ZipFile zip = Ionic.Zip.ZipFile.Read(zipName);<br>\r\n//zip.ExtractProgress<br>\r\nzip.ExtractProgress += new EventHandler&lt;ionic.zip.extractprogresseventargs&gt;(zip_ExtractProgress);<br>\r\nzip.ExtractAll(targetDir, true);<br>\r\nzip.Dispose();<br>\r\nzip = null;</p>\r\n</strong>\r\n",
    "PostedDate": "2009-02-18T04:51:19.823-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "159230",
    "ThreadId": "47472",
    "Html": "<p>Alag, I don't see in that code where you are trying to delete the file.  what do you mean by &quot;seems to be locked.&quot;  What happens when you run your code?  Do you get an exception? where? <br>\r\n<br>\r\nI coded up a test of my own that<br>\r\n - creates a zip file<br>\r\n - reads the file and extracts all entries <br>\r\n - deletes the original zip file<br>\r\n<br>\r\nMy code works.  No exceptions.  </p>\r\n<pre><span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">CreateZipSimple.cs</span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">------------------------------------------------------------------</span>\r\n<span style=\"color:#b22222\">//</span><span style=\"color:#b22222\"></span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">Test out create/read+Extract/delete of a zip file. </span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\"></span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">Author: Dinoch</span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">built on host: DINOCH-2</span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">originally created Wed Feb 18 17:54:44 2009</span>\r\n<span style=\"color:#b22222\">//</span><span style=\"color:#b22222\"></span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">last saved: </span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">Time-stamp: &lt;2009-February-18 18:23:49&gt;</span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">------------------------------------------------------------------</span>\r\n<span style=\"color:#b22222\">//</span><span style=\"color:#b22222\"></span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">compile with:</span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">csc /debug+ /target:exe /r:Ionic..Zip.dll /out:CreateZipSimple.exe CreateZipSimple.cs </span>\r\n<span style=\"color:#b22222\">//</span><span style=\"color:#b22222\"></span>\r\n<span style=\"color:#b22222\">//</span><span style=\"color:#b22222\"></span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">Copyright (c) 2008 by Dino Chiesa</span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">All rights reserved!</span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\"></span>\r\n<span style=\"color:#b22222\">//</span><span style=\"color:#b22222\"></span>\r\n<span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">------------------------------------------------------------------</span>\r\n<span style=\"color:#a020f0\">using</span> <span style=\"color:#5f9ea0\">System</span>;\r\n<span style=\"color:#a020f0\">using</span> <span style=\"color:#5f9ea0\">System</span>.<span style=\"color:#5f9ea0\">IO</span>;\r\n<span style=\"color:#a020f0\">using</span> <span style=\"color:#5f9ea0\">Ionic</span>.<span style=\"color:#5f9ea0\">Zip</span>;\r\n\r\n\r\n<span style=\"color:#a020f0;text-decoration:overline\">namespace Ionic.Zip.Samples</span>\r\n{\r\n\r\n    <span style=\"color:#a020f0;text-decoration:overline\">public class CreateZipSimple</span>\r\n    {\r\n        <span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">ctor</span>\r\n        <span style=\"color:#a020f0;text-decoration:overline\">public CreateZipSimple () {}</span>\r\n\r\n        <span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">ctor</span>\r\n        <span style=\"color:#a020f0;text-decoration:overline\">public CreateZipSimple (string[] args)</span>\r\n        {\r\n            <span style=\"color:#a020f0\">for</span> (<span style=\"color:#228b22\">int</span> <span style=\"color:#b8860b\">i</span>=0; i &lt; <span style=\"color:#5f9ea0\">args</span>.Length; i++)\r\n            {\r\n                <span style=\"color:#a020f0\">switch</span> (args[i])\r\n                {\r\n                <span style=\"color:#a020f0\">default</span>:\r\n                    <span style=\"color:#a020f0\">if</span> (DirToZip != <span style=\"color:#5f9ea0\">null</span>)\r\n                    {\r\n                        Usage();\r\n                        <span style=\"color:#a020f0\">return</span>;\r\n                    }\r\n                    DirToZip = args[i];\r\n                    <span style=\"color:#a020f0\">break</span>;\r\n                }\r\n            }\r\n        }\r\n\r\n        <span style=\"color:#228b22\">string</span> <span style=\"color:#b8860b\">TargetDir</span> = <span style=\"color:#5f9ea0\">null</span>;\r\n        <span style=\"color:#228b22\">string</span> <span style=\"color:#b8860b\">ZipFileToCreate</span> = <span style=\"color:#5f9ea0\">null</span>;\r\n        <span style=\"color:#228b22\">string</span> <span style=\"color:#b8860b\">DirToZip</span> = <span style=\"color:#5f9ea0\">null</span>;\r\n\r\n        <span style=\"color:#a020f0;text-decoration:overline\">private void Setup()</span>\r\n        {\r\n            <span style=\"color:#a020f0\">if</span> (DirToZip== <span style=\"color:#5f9ea0\">null</span>) { Usage(); <span style=\"color:#5f9ea0\">System</span>.<span style=\"color:#5f9ea0\">Environment</span>.Exit(1);}\r\n            TargetDir = <span style=\"color:#5f9ea0\">String</span>.Format(<span style=\"color:#bc8f8f\">&quot;unpack.{0}&quot;</span>, <span style=\"color:#5f9ea0\">System</span>.<span style=\"color:#5f9ea0\">Diagnostics</span>.<span style=\"color:#5f9ea0\">Process</span>.GetCurrentProcess().Id);\r\n            ZipFileToCreate = <span style=\"color:#bc8f8f\">&quot;CreateZipSimple.zip&quot;</span>;\r\n            RemoveZipFile();\r\n        }\r\n\r\n\r\n        <span style=\"color:#a020f0;text-decoration:overline\">private void RemoveDirectory()</span>\r\n        {\r\n            <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;=======================================================&quot;</span>);\r\n            <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;deleting {0}...&quot;</span>, TargetDir);\r\n            <span style=\"color:#a020f0\">if</span> (<span style=\"color:#5f9ea0\">Directory</span>.Exists(TargetDir))\r\n            {\r\n                <span style=\"color:#5f9ea0\">Directory</span>.Delete(TargetDir, <span style=\"color:#5f9ea0\">true</span>);\r\n            }\r\n            <span style=\"color:#a020f0\">else</span>\r\n                <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;directory '{0}' does not exist...&quot;</span>, TargetDir);\r\n        }\r\n\r\n\r\n\r\n        <span style=\"color:#a020f0;text-decoration:overline\">private void RemoveZipFile()</span>\r\n        {\r\n            <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;=======================================================&quot;</span>);\r\n            <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;deleting {0}...&quot;</span>, ZipFileToCreate);\r\n            <span style=\"color:#a020f0\">if</span> (<span style=\"color:#5f9ea0\">File</span>.Exists(ZipFileToCreate))\r\n            {\r\n                <span style=\"color:#5f9ea0\">File</span>.Delete(ZipFileToCreate);\r\n            }\r\n            <span style=\"color:#a020f0\">else</span>\r\n                <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;file '{0}' does not exist...&quot;</span>, ZipFileToCreate);\r\n        }\r\n\r\n\r\n\r\n        <span style=\"color:#a020f0;text-decoration:overline\">private void Run()</span>\r\n        {\r\n            Setup();\r\n            CreateZipFile();\r\n            ReadZipFile();\r\n            RemoveZipFile();\r\n            RemoveDirectory();\r\n        }\r\n    \r\n\r\n        <span style=\"color:#a020f0;text-decoration:overline\">private void CreateZipFile()</span>\r\n        {\r\n            <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;=======================================================&quot;</span>);\r\n            <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;zipping dir '{0}' into zipfile '{1}'...&quot;</span>, DirToZip, ZipFileToCreate);\r\n\r\n            <span style=\"color:#a020f0\">using</span> (<span style=\"color:#228b22\">ZipFile</span> <span style=\"color:#b8860b\">zip</span> = <span style=\"color:#a020f0\">new</span> ZipFile())\r\n            {\r\n                <span style=\"color:#b22222\">// </span><span style=\"color:#b22222\">note: this does not recurse directories!<br></span>               <span style=\"color:#228b22\">String</span>[] <span style=\"color:#b8860b\">filenames</span> = <span style=\"color:#5f9ea0\">System</span>.<span style=\"color:#5f9ea0\">IO</span>.<span style=\"color:#5f9ea0\">Directory</span>.GetFiles(DirToZip);\r\n                <span style=\"color:#a020f0\">foreach</span> (<span style=\"color:#228b22\">String</span> <span style=\"color:#b8860b\">filename</span> <span style=\"color:#a020f0\">in</span> filenames)\r\n                {\r\n                    <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;Adding {0}...&quot;</span>, filename);\r\n                    <span style=\"color:#5f9ea0\">zip</span>.AddFile(filename);\r\n                }\r\n\r\n                <span style=\"color:#5f9ea0\">zip</span>.Save(ZipFileToCreate);\r\n            }\r\n        }\r\n\r\n\r\n        <span style=\"color:#a020f0;text-decoration:overline\">private void ReadZipFile()</span>\r\n        {\r\n            <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;=======================================================&quot;</span>);\r\n            <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;Reading and Extracting zip '{0}' to directory {1}&quot;</span>, ZipFileToCreate, TargetDir);\r\n\r\n            <span style=\"color:#5f9ea0\">Ionic</span>.<span style=\"color:#5f9ea0\">Zip</span>.<span style=\"color:#228b22\">ZipFile</span> <span style=\"color:#b8860b\">zip</span> = <span style=\"color:#5f9ea0\">Ionic</span>.<span style=\"color:#5f9ea0\">Zip</span>.<span style=\"color:#5f9ea0\">ZipFile</span>.Read(ZipFileToCreate);\r\n            <span style=\"color:#b22222\">//</span><span style=\"color:#b22222\">zip.ExtractProgress += new EventHandler&lt;ionic.zip.extractprogresseventargs&gt;(zip_ExtractProgress);<br></span>            <span style=\"color:#5f9ea0\">zip</span>.ExtractProgress += zip_ExtractProgress;\r\n            <span style=\"color:#5f9ea0\">zip</span>.ExtractAll(TargetDir, <span style=\"color:#5f9ea0\">true</span>);\r\n            <span style=\"color:#5f9ea0\">zip</span>.Dispose();\r\n            zip = <span style=\"color:#5f9ea0\">null</span>;\r\n            <span style=\"color:#5f9ea0\">Console</span>.WriteLine();\r\n        }\r\n\r\n        <span style=\"color:#228b22\">bool</span> <span style=\"color:#b8860b\">firstReport</span> = <span style=\"color:#5f9ea0\">true</span>;\r\n\r\n        <span style=\"color:#a020f0;text-decoration:overline\">public void zip_ExtractProgress(object sender, ExtractProgressEventArgs e)</span>\r\n        {\r\n            <span style=\"color:#a020f0\">if</span> (firstReport)\r\n                <span style=\"color:#5f9ea0\">Console</span>.Write(<span style=\"color:#bc8f8f\">&quot;Extract&quot;</span>);\r\n            <span style=\"color:#5f9ea0\">Console</span>.Write(<span style=\"color:#bc8f8f\">&quot;.&quot;</span>);\r\n            firstReport= <span style=\"color:#5f9ea0\">false</span>;\r\n        }\r\n\r\n        <span style=\"color:#a020f0;text-decoration:overline\">public static void Usage()</span>\r\n        {\r\n            <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;CreateZipSimple: test bed for creating zip files.\\n&quot;</span>);\r\n            <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;Usage:\\n CreateZipSimple &lt;DirToZip&gt; &quot;</span>);\r\n        }\r\n\r\n\r\n        <span style=\"color:#a020f0;text-decoration:overline\">public static void Main(string[] args)</span>\r\n        {\r\n            <span style=\"color:#a020f0\">try</span> \r\n            {\r\n                <span style=\"color:#228b22\">CreateZipSimple</span> <span style=\"color:#b8860b\">me</span> = <span style=\"color:#a020f0\">new</span> CreateZipSimple(args);\r\n                <span style=\"color:#5f9ea0\">me</span>.Run();\r\n            }\r\n            <span style=\"color:#a020f0\">catch</span> (<span style=\"color:#5f9ea0\">System</span>.<span style=\"color:#228b22\">Exception</span> <span style=\"color:#b8860b\">exc1</span>)\r\n            {\r\n                <span style=\"color:#5f9ea0\">Console</span>.WriteLine(<span style=\"color:#bc8f8f\">&quot;Exception: {0}&quot;</span>, <span style=\"color:#5f9ea0\">exc1</span>.ToString());\r\n                Usage();\r\n            }\r\n        }\r\n    }\r\n}\r\n</pre>\r\n",
    "PostedDate": "2009-02-18T18:35:03.153-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "159312",
    "ThreadId": "47472",
    "Html": "Hi Cheeso,<br>\r\nSorry I didn't realize that i missed the code snippet above. I have the last line as File.Delete(zipName) which throws an exception that says file is currently in use and hence cannot be deleted.<br>\r\n<br>\r\nI can try your code again - but that will be in a few hours as i am off to a few meetings as of now:)<br>\r\n<br>\r\nUpdate <br>\r\n----------<br>\r\nThanks for your help and i upgrade to latest 1.7 as per your comments in the other thread but that still seems to have the same issue<br>\r\n<br>\r\nThis has now been resolved - Thank you.<br>\r\n",
    "PostedDate": "2009-02-19T01:45:01.337-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "159946",
    "ThreadId": "47472",
    "Html": "Getting the same issue but with a file move command, actually. <br>\r\n<br>\r\nZipFile zip = new ZipFile(downloadedFile);<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (ZipEntry entry in zip)<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (regexCSV.IsMatch(entry.FileName))<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ImportData(new StreamReader(entry.OpenReader()));<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>\r\n<br>\r\ntry<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; File.Move(downloadedFile, @&quot;processed\\&quot; + Path.GetFileName(downloadedFile) + DateTime.Now.ToFileTime().ToString());<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (System.IO.IOException ioError)<br>\r\n{<br>\r\n}<br>\r\n<br>\r\nI've verified that the stream is being closed, but it still throws an IOException saying the file is still in use.<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Console.WriteLine(&quot;Couldn't copy file to processed folder. File already exists there!&quot;);<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <br>\r\n<br>\r\n<br>\r\n<br>\r\n\r\n",
    "PostedDate": "2009-02-19T16:40:56.537-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "159948",
    "ThreadId": "47472",
    "Html": "Actually using &quot;using()&quot; fixes it. Thanks.<br>\r\n",
    "PostedDate": "2009-02-19T16:47:55.277-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "160061",
    "ThreadId": "47472",
    "Html": "For others who are having similar problem, you can also add zip.dispose(); zip= null; which unlocks the file if you dont want to use &quot;using()&quot;.<br>\r\n",
    "PostedDate": "2009-02-20T00:53:45.547-08:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "180413",
    "ThreadId": "47472",
    "Html": "Hi all,<br>\r\nI have the same issue under &quot;.NET Compact Framework 2.0 ( Windows Mobile ) &quot;. however the code have no problem under &quot;Full Framework ( Windows ).<br>\r\n<br>\r\nif (File.Exists(zippath))<br>\r\n{<br>\r\n&nbsp;&nbsp; &nbsp;try<br>\r\n&nbsp;&nbsp; &nbsp;{<br>\r\n&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;using (Ionic.Zip.ZipFile f = new Ionic.Zip.ZipFile(path))<br>\r\n&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{<br>\r\n&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;f.ExtractAll(targetDir, true);<br>\r\n&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br>\r\n&nbsp;&nbsp; &nbsp;}<br>\r\n&nbsp;&nbsp; &nbsp;catch (Exception ex)<br>\r\n&nbsp;&nbsp; &nbsp;{<br>\r\n&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;MessageBox.Show(ex.Message);<br>\r\n&nbsp;&nbsp; &nbsp;}<br>\r\n<br>\r\n&nbsp;&nbsp; &nbsp;try<br>\r\n&nbsp;&nbsp; &nbsp;{<br>\r\n&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;File.Delete(path);<br>\r\n&nbsp;&nbsp; &nbsp;}<br>\r\n&nbsp;&nbsp; &nbsp;catch (Exception ex)<br>\r\n&nbsp;&nbsp; &nbsp;{<br>\r\n&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;MessageBox.Show(ex.Message);<br>\r\n&nbsp;&nbsp; &nbsp;}<br>\r\n}<br>\r\n<br>\r\n<br>\r\n<br>\r\n",
    "PostedDate": "2009-04-16T19:28:44.893-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "180524",
    "ThreadId": "47472",
    "Html": "+1\r\n",
    "PostedDate": "2009-04-17T02:45:33.35-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "180527",
    "ThreadId": "47472",
    "Html": "+1? What's?<br>\r\n",
    "PostedDate": "2009-04-17T02:52:52.917-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "180988",
    "ThreadId": "47472",
    "Html": "I think what he is saying is, &quot;I also have this problem on the .NET CF&quot;. <br>\r\n<br>\r\nI recognize this is a problem, with the DotNetZip library on .NET CF.   <br>\r\nI've been in the process of moving out of my house, and so unable to look into this problem. <br>\r\nI will get to work on it as soon as possible.  <br>\r\nI'll let you all know what I find.\r\n",
    "PostedDate": "2009-04-19T08:49:04.513-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "181156",
    "ThreadId": "47472",
    "Html": "yes,sorry, uaually when in a forum you post &quot;+1&quot; that means that you agree with the commentary inmediatly above you without posting innecesary words.<br>\r\n",
    "PostedDate": "2009-04-20T00:32:09.043-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "181825",
    "ThreadId": "47472",
    "Html": "I've found a solution to this problem, well not a &quot;real&quot; solution, only a circunvent<br>\r\n<br>\r\ninstead of uncompressing the file directly using somethig similar to this....<br>\r\n<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ZipFile zip = ZipFile.Read(myZipfile);<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (ZipEntry e in zip)<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.Extract(path);<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zip.Dispose();<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zip = null;<br>\r\n<br>\r\nuse instead<br>\r\n<br>\r\n<br>\r\n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; FileStream fs2 = new FileStream(myZipfile, FileMode.Open);<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; byte[] stream= new byte[fs2.Length];<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fs2.Read(stream, 0, (int)fs2.Length);<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fs2.Close();<br>\r\n<br>\r\nand then<br>\r\n<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ZipFile zip = ZipFile.Read(stream);<br>\r\n<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach (ZipEntry e in zip)<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.Extract(path);<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zip.Dispose();<br>\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; zip = null;<br>\r\n<br>\r\n<br>\r\nand then u magically can delete the file myZipfile<br>\r\n<br>\r\nu can use using() if you prefer.<br>\r\n<br>\r\nNote that this is not a real solution, only a way to keep the library working while Cheeso finds the real solution . Hope this workaroung helps to find the real problem<br>\r\n<br>\r\n<br>\r\n<br>\r\n<br>\r\n<br>\r\n<br>\r\n<br>\r\n<br>\r\n<br>\r\n<br>\r\n<br>\r\n<br>\r\n",
    "PostedDate": "2009-04-21T08:52:40.113-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "182277",
    "ThreadId": "47472",
    "Html": "Thanks a lot!!!<br>\r\nI can delete the zip file after extracting.<br>\r\n",
    "PostedDate": "2009-04-22T05:17:31.853-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "184622",
    "ThreadId": "47472",
    "Html": "Thanks for the tip.  I still have to find a real solution.\r\n",
    "PostedDate": "2009-04-28T10:42:16.147-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "185750",
    "ThreadId": "47472",
    "Html": "I believe this is now fixed in the DotNetZip library for .NET CF. <br>\r\nIf you are on v1.7, you need v1.7.2.16.  <br>\r\nIf you are on v1.8, you need v1.8.2.11.  <br>\r\n<br>\r\nLet me know if it is not fixed!<br>\r\n",
    "PostedDate": "2009-04-30T17:39:40.333-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "186442",
    "ThreadId": "47472",
    "Html": "Seems to work fine in v1.7.2.16. <br>\r\n<br>\r\nThanks <br>\r\n",
    "PostedDate": "2009-05-04T01:32:50.713-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "192708",
    "ThreadId": "47472",
    "Html": "<p>Thanks - this works in 1.7.2.16 onwards.</p>",
    "PostedDate": "2009-05-21T02:28:59.553-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]