[
  {
    "Id": "201001",
    "ThreadId": "59370",
    "Html": "<p>Has anybody been able to get a self extract exe to work which has been build with the v1.8 library. It appears to error when trying to load the form. I would use the v1.7 but I really need the ability to add new files to an existing sfx.</p>\r\n<p>Also I'm not able to get the utils form tool to work either. At first I thought this was an issue with having v1.7 installed on the same box but Ive since tried it with another machine and the utils tool just errors.</p>\r\n<p>Seems to be an issue with the build?? or am i missing a component on my machine. Both boxes have .net 2.0.</p>\r\n<p>cheers nick</p>",
    "PostedDate": "2009-06-12T14:22:34.477-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201072",
    "ThreadId": "59370",
    "Html": "<p>Hey Nick,</p>\r\n<p>When I deliver the release, I run through a series of tests, and those tests include the self-extracting archive tests.&nbsp;</p>\r\n<p>I just ran the SFX tests again, and they ran successfully.&nbsp;</p>\r\n<p>You mentioned the winforms SFX &quot;errors&quot;.&nbsp; What does that mean, exactly?&nbsp; What error do you see? What happens ?</p>\r\n<p>If you can give&nbsp;me some more information, I'll try to help sort it out with you.</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-06-12T20:49:40.983-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201116",
    "ThreadId": "59370",
    "Html": "<p>Hi Cheeso,</p>\r\n<p>On my own laptop which has not had the v1.7 stuff installed, Ive unpackaged the Utils zip &nbsp;and tried to run the&nbsp;DotNetZip-WinFormsTool.exe - the generic windows send error details window opens. This contains the following details:</p>\r\n<p>&nbsp;</p>\r\n<p>EventType : clr20r3 &nbsp; &nbsp; P1 : dotnetzip-winformstool.exe &nbsp; &nbsp; P2 : 0.0.0.0 &nbsp; &nbsp;&nbsp;</p>\r\n<p>P3 : 4a32a3a3 &nbsp; &nbsp; P4 : system.windows.forms &nbsp; &nbsp; P5 : 2.0.0.0 &nbsp; &nbsp; P6 : 4889dee7</p>\r\n<p>P7 : 2328 &nbsp; &nbsp; P8 : 5d &nbsp; &nbsp; P9 : system.argumentoutofrange &nbsp;</p>\r\n<p>This same behaviour happens on my dev &nbsp;machine as well. If I remove the v1.8 and install the v1.7 (either msi or zip build) the v1.7 forms tool opens correctly.</p>\r\n<p>I've built an sfx package I've built which has password encryption (aes 256) and contains multiple password pkzip encrypted zips. When excuting this exe via cmd i get the message &quot;Program to big to fit in memory&quot;. However the sfx file is only 725 bytes.</p>\r\n<p>I'm assuming these 2 issues are connected and nothing to do with the build of the test exe however below is the code im using to created the archive. Basically i run through a directory pulling out a list of .vox files. If a zip already exists of the same name then it gets added else I create a new zip and add the file. A Second pass is then done using the zip file names to create a sfx package. (file names contain datetime strings).&nbsp;</p>\r\n<p>&nbsp;</p>\r\n<div style=\"color:Black;background-color:White\">\r\n<pre>\r\n        <span style=\"color:Blue\">private</span> <span style=\"color:Blue\">void</span> BuildZip(List&lt;<span style=\"color:Blue\">string</span>&gt; filepaths, <span style=\"color:Blue\">string</span> zipFullName, <span style=\"color:Blue\">string</span> passWord, <span style=\"color:Blue\">bool</span> encryptAES256, <span style=\"color:Blue\">bool</span> selfextractexe, List&lt;<span style=\"color:Blue\">string</span>&gt; ammendedFileNames)\r\n        {\r\n            <span style=\"color:Blue\">if</span> (!File.Exists(zipFullName))\r\n            {\r\n                <span style=\"color:Blue\">using</span> (ZipFile zip = <span style=\"color:Blue\">new</span> ZipFile(zipFullName))\r\n                {\r\n                    zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;\r\n                    zip.Encryption = encryptAES256 ? EncryptionAlgorithm.WinZipAes256 : EncryptionAlgorithm.PkzipWeak;\r\n                    zip.Password = passWord;                    \r\n                    <span style=\"color:Blue\">foreach</span> (<span style=\"color:Blue\">string</span> fi <span style=\"color:Blue\">in</span> filepaths)\r\n                    {   \r\n                        zip.AddFile(fi, String.Empty);\r\n                    }\r\n                    <span style=\"color:Blue\">if</span> (selfextractexe)\r\n                    {\r\n                        zip.SaveSelfExtractor(zipFullName.Replace(<span style=\"color:#A31515\">&quot;.zip&quot;</span>, <span style=\"color:#A31515\">&quot;.exe&quot;</span>), SelfExtractorFlavor.WinFormsApplication);\r\n                    }\r\n                    <span style=\"color:Blue\">else</span> { zip.Save(); }\r\n                }\r\n            }\r\n            <span style=\"color:Blue\">else</span>\r\n            {\r\n                <span style=\"color:Blue\">using</span> (ZipFile zip = ZipFile.Read(zipFullName))\r\n                {\r\n                    <span style=\"color:Blue\">foreach</span> (<span style=\"color:Blue\">string</span> fi <span style=\"color:Blue\">in</span> filepaths)\r\n                    {\r\n                        zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;\r\n                        zip.Encryption = encryptAES256 ? EncryptionAlgorithm.WinZipAes256 : EncryptionAlgorithm.PkzipWeak;\r\n                                               \r\n                        zip.Password = passWord;\r\n                        zip.AddFile(fi, String.Empty);\r\n                        \r\n                    }\r\n                    zip.Save();\r\n                }                \r\n            }\r\n}\r\n</pre>\r\n</div>\r\n<p>hopefully Im not doing anything stupid...(has been know before).</p>\r\n<p>If you need any more info etc just let me know. (the only other way i can think to test it is to download the source code and debug through it?)</p>\r\n<p>cheers Nick</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-06-13T05:28:19.573-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201152",
    "ThreadId": "59370",
    "Html": "<p>Wow, thanks for reporting that.&nbsp;&nbsp; I will have a look and get back to you.</p>",
    "PostedDate": "2009-06-13T08:39:50.837-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201159",
    "ThreadId": "59370",
    "Html": "<p>ok, that's been fixed. Get the new release v1.8.3.21. Thanks for reporting it Nick.</p>",
    "PostedDate": "2009-06-13T09:00:36.307-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201169",
    "ThreadId": "59370",
    "Html": "<p>No worries mate, sounds like it was an easy fix.&nbsp;</p>\r\n<p>Must say so far I've been very impressed with the library... much more easy to use than the ICSharps #ZipLib.</p>\r\n<p>How long do you think it'll be before this release is classed as stable?</p>\r\n<p>Thanks for sorting the fix out so quickly. I'll download the new release and give it a go later this evening.</p>\r\n<p>cheers nick</p>",
    "PostedDate": "2009-06-13T09:43:42.117-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201200",
    "ThreadId": "59370",
    "Html": "<p>Hey Nick, it <em>was</em> an easy fix, thanks for reporting it. Also thanks for the comments about the ease-of-use - that's what I was going for.</p>\r\n<p>I was expecting DotNetZip to be classified as stable or &quot;officially released&quot;&nbsp;in May, but there have been a few bug reports dribbling in, so I've held off. <br>My new estimate is, by the end of June, and barring a burst of problems reported by people, I'm confident&nbsp;in that date.&nbsp;<br>Between now and then, there's nothing more I will do to the library, except write a few more tests.<br>I think v1.8 is solid and reilable enough to use now, but before I pronounce it so, I'd like a few more weeks testing. &nbsp;</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-06-13T12:20:22.8-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201541",
    "ThreadId": "59370",
    "Html": "<p>Hi Cheeso... Have only just got round to testing the v1.8.3.21 and I've come across a related issue.</p>\r\n<p>First off... the utils app works perfectly. :-)</p>\r\n<p>If I build an sfx (GUI) with a single file - it unpackages correctly. If I build an sfx with multiple files, but add them at the time of creation -  it unpackages correctly.</p>\r\n<p>However.... if i build an sfx with a single file, then reopen it and add another file (&nbsp; using ZipFile.Read(zipFullName) as per the 'else' statement in my code above) ... then the sfx will not unpackage.</p>\r\n<p>If this is built with no password encryption then we get the following error:</p>\r\n<p>the NTVDM CPU has encountered an illegal instruction.<br>CS:0000 IP:0077 OP:f0 37 05 0c 02</p>\r\n<p>If the sfx is built with password encryption (aes256) then the extractor appears to just hang</p>\r\n<p>When stepping through my code the Count is correct after adding the second file to a previously created (and closed) exe.</p>\r\n<p>Also the msi installer for the runtime requires net 3.5 whereas the utils installer doesn't (minor issue but thought I'd mention this)</p>\r\n<p>Let me know if you require any further info or a test file</p>\r\n<p>cheers Nick</p>",
    "PostedDate": "2009-06-15T05:01:25.16-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201567",
    "ThreadId": "59370",
    "Html": "This discussion has been copied to a work item. Click <a href=\"http://dotnetzip.codeplex.com/WorkItem/View.aspx?WorkItemId=7892\">here</a> to go to the work item and continue the discussion.",
    "PostedDate": "2009-06-15T06:32:28.23-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201568",
    "ThreadId": "59370",
    "Html": "<p>Thanks, Nick, your feedback is valuable.</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-06-15T06:34:54.827-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201570",
    "ThreadId": "59370",
    "Html": "This discussion has been copied to a work item. Click <a href=\"http://dotnetzip.codeplex.com/WorkItem/View.aspx?WorkItemId=7893\">here</a> to go to the work item and continue the discussion.",
    "PostedDate": "2009-06-15T06:36:04.44-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201598",
    "ThreadId": "59370",
    "Html": "<p>Nick, I Think the reason the updated SFX is not running is because you have called ZipFile.Save() which produces a regular zip file.&nbsp;<br>If you call ZipFile.SaveSelfExtractor() after adding a file, it should work for you.<br>Can you check that and get back to me?</p>\r\n<p>I will change the pre-reqs for the runtime - good catch.</p>",
    "PostedDate": "2009-06-15T07:47:19.44-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201625",
    "ThreadId": "59370",
    "Html": "<p>hey Cheeso.... thanks for the prompt response... I've tested the above and can confirm that solution works correctly for both encrypted and non-encrypted sfx. :-)</p>\r\n<p>My only comment is maybe the ZipFile.Save() method should throw a custom error if the file is of type sfx? would stop this problem immediately.</p>\r\n<p>cheers Nick</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-06-15T08:50:36.177-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201673",
    "ThreadId": "59370",
    "Html": "<p>OK, let's think about that.&nbsp;</p>\r\n<p>When you have a ZipFile instance in memory, there's no way to tell whether it came from reading an EXE/SFX, or a zip file.&nbsp; (or a stream, or a byte array).</p>\r\n<p>I guess it's possible for ZipFile.Save() to throw an error if the extension of the file to be saved is .exe.&nbsp; Does that make sense to you?&nbsp;</p>",
    "PostedDate": "2009-06-15T10:53:43.213-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201676",
    "ThreadId": "59370",
    "Html": "This discussion has been copied to a work item. Click <a href=\"http://dotnetzip.codeplex.com/WorkItem/View.aspx?WorkItemId=7895\">here</a> to go to the work item and continue the discussion.",
    "PostedDate": "2009-06-15T10:58:36.623-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  },
  {
    "Id": "201700",
    "ThreadId": "59370",
    "Html": "<p>ok to summarize, the workaround for the problem you experienced was to call SaveSelfExtractor.&nbsp;</p>\r\n<p>From your mail, I took three workitems:</p>\r\n<p><a href=\"http://dotnetzip.codeplex.com/WorkItem/View.aspx?WorkItemId=7892\">7892</a> - MSI installer prereqs were wrong.<br><a href=\"http://dotnetzip.codeplex.com/WorkItem/View.aspx?WorkItemId=7893\">7893</a> - Calling Save() after reading an SFX results in an unusable exe file <br><a href=\"http://dotnetzip.codeplex.com/WorkItem/View.aspx?WorkItemId=7895\">7895</a> - Winforms SFX loops endlessly when files exist and WantOverwrite is not checked</p>\r\n<p>Thanks for helping to make DotNetZip better.</p>\r\n<p>These are all fixed in v1.8.3.25.</p>\r\n<p>&nbsp;</p>",
    "PostedDate": "2009-06-15T12:06:26.28-07:00",
    "UserRole": null,
    "MarkedAsAnswerDate": null
  }
]