[
  {
    "Id": "112256",
    "ThreadId": "33874",
    "Html": "Hello,<br>\r\nI have used this little gem in my windows application and it works really well. I can create a zip file and use the SaveProgress event to show a progressbar to the user. This works great, and I was expectiing something the same for the extract method, but there is only the <span>StatusMessageTextWriter</span>. How can I show a progress bar for the extract or at least which file is extracted in a label control?<br>\r\n",
    "PostedDate": "2008-08-20T01:01:51.043-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "112349",
    "ThreadId": "33874",
    "Html": "<p>Ahh, a hole in the function of the library.&nbsp; I'd need to add the progress event to the ExtractAll method. </p>\r\n<p>Shouldn't be too hard to do. </p>\r\n",
    "PostedDate": "2008-08-20T08:21:44.293-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "112552",
    "ThreadId": "33874",
    "Html": "<p>I added this; it is in the current v1.6 preview release.</p>\r\n<p>&nbsp;</p>\r\n",
    "PostedDate": "2008-08-20T23:37:24.863-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "112566",
    "ThreadId": "33874",
    "Html": "Wow! Thanks..I'm impressed!<br>\r\n",
    "PostedDate": "2008-08-21T00:46:21.943-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "112629",
    "ThreadId": "33874",
    "Html": "did it work?\r\n",
    "PostedDate": "2008-08-21T05:56:08.667-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "112774",
    "ThreadId": "33874",
    "Html": "Yes, it works! Unfortunately I am working with password protected zip files and the extractall method, as far as I know, does not support a password. So I now loop through the EntryFileNames, retrieve the zipentry and do an extractwithpassword.\r\n",
    "PostedDate": "2008-08-21T14:33:51.223-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "113170",
    "ThreadId": "33874",
    "Html": "<p>Hmmm, that's no good. Seems like another hole in the library. <br>\r\nI am fixing this now. </p>\r\n<p>It seems to me that it would be intuitive if the Library behaved this way: if you set the password on the ZipFile instance, then subsequently call ExtractAll(), the extraction should use the supplied password for all entries.&nbsp; The same thing should happen for subsequent Extract() calls on the ZipFile itself.&nbsp; <br>\r\n<br>\r\nFor example... </p>\r\n<pre>  using (ZipFile z1 = new ZipFile(ZipToExtract))\r\n  {\r\n      z1.Password = &quot;Albatr0s&quot;;\r\n      z1.ExtractProgress = ExtractProgress;\r\n      z1.ExtractAll(); \r\n  }\r\n</pre>\r\n<p>I am testing this out right now. </p>\r\n",
    "PostedDate": "2008-08-23T08:59:57.837-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "113188",
    "ThreadId": "33874",
    "Html": "<p>Ok, this change - ExtractAll() and Extract() methods on ZipFile implicitly use the Password set on the ZipFile - is now added to the library, as of change set 22534.<br>\r\n<br>\r\nIn a few minutes it will be available in the v1.6 preview release. </p>\r\n<p>This change will also be in the v1.6 final release. </p>\r\n<p>&nbsp;</p>\r\n",
    "PostedDate": "2008-08-23T13:24:32.907-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "113274",
    "ThreadId": "33874",
    "Html": "Excellent! This works very intuitive. Sharpziplib eat your heart out ;-) Thank you Cheeso.\r\n",
    "PostedDate": "2008-08-24T11:43:47.223-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]