{
  "WorkItem": {
    "AffectedComponent": {
      "Name": "",
      "DisplayName": ""
    },
    "ClosedComment": "fixed in changeset 32270.  first binary release that has this available will be v1.8.3.15.",
    "ClosedDate": "2009-06-01T22:42:43.963-07:00",
    "CommentCount": 0,
    "Custom": null,
    "Description": "it would be great if the command-line extractor's return code was the same as the one of the file that was run.For example, we have a few scenarios where we bundle MsBuild scripts as self-extracting exes.It would be very helpful if we could run the extractor, and check its return code to know if the scripts ran fine.",
    "LastUpdatedDate": "2013-05-16T05:32:20.027-07:00",
    "PlannedForRelease": "",
    "ReleaseVisibleToPublic": false,
    "Priority": {
      "Name": "Low",
      "Severity": 50,
      "Id": 1
    },
    "ProjectName": "DotNetZip",
    "ReportedDate": "2009-06-01T20:38:51.137-07:00",
    "Status": {
      "Name": "Closed",
      "Id": 4
    },
    "ReasonClosed": {
      "Name": "Unassigned"
    },
    "Summary": "return proper exit code for Self-Extracting Zip Files with Run-on-extract command",
    "Type": {
      "Name": "Issue",
      "Id": 3
    },
    "VoteCount": 2,
    "Id": 7836
  },
  "FileAttachments": [],
  "Comments": [
    {
      "Message": "I think this will work on the Command-Line self-extractor, but not with the WinForms self-extractor.  \r\n",
      "PostedDate": "2009-06-01T20:49:20.1-07:00",
      "Id": -2147483648
    },
    {
      "Message": "Do you think this behavior should be an option?\r\n\r\nMaybe some people just want to know if the extraction went well,\r\nso there could be an extra \"IsExitCodeForwarded\" property to toggle this behavior on or off.\r\n",
      "PostedDate": "2009-06-01T21:02:49.847-07:00",
      "Id": -2147483648
    },
    {
      "Message": "I think the behavior of the command-line self-extractor as I have now designed it makes sense.  This is what it does:  It always returns a non-zero exit code if it fails, in any way.  If it fails to extract (let's say, the file is corrupted, it runs out of disk space or has a permissions error), it returns a nonzero exit code.  If it succeeds in extracting everything, it then checks for a post-extract command.  At this point if there is no post-extract, the SFX returns 0 (Success).   If the post-extract command is not empty but the command cannot be executed (maybe the file does not exist), the SFX returns nonzero.   If the post-extract command is non-empty and valid, but fails, the SFX returns the exit code of that command, which may be zero (Success).  This makes sense to me. \r\n\r\nNone of this exit-code stuff happens with the WinForms SFX.  It doesn't communicate with exit codes.  It unpacks the zip.  In case of failure, the WinForms SFX pops a messagebox.  If the post-extract command is set, the WinForms SFX starts that process, in a fire-and-forget manner. \r\n\r\n",
      "PostedDate": "2009-06-01T22:41:36.23-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2009-06-01T22:42:43.963-07:00",
      "Id": -2147483648
    },
    {
      "Message": "Thank you so much, I can't believe how fast you made this change.\r\nIt makes perfect sense the way you explained it, I'll try the 1.8.3.15 binaries as soon as they are available.\r\n",
      "PostedDate": "2009-06-01T23:08:13.733-07:00",
      "Id": -2147483648
    },
    {
      "Message": "I tried release 1.8.3.15 and it works like a charm.\r\nThanks again",
      "PostedDate": "2009-06-11T00:40:10.09-07:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-02-21T18:44:16.287-08:00",
      "Id": -2147483648
    },
    {
      "Message": "",
      "PostedDate": "2013-05-16T05:32:20.027-07:00",
      "Id": -2147483648
    }
  ]
}