private static UninstallerResults ProcessUninstallerResults(WindowsExitCode exitCode)
        {
            UninstallerResults results = new UninstallerResults();

            switch (exitCode)
            {
            ///////////////////// The Good Codes(TM) ///////////////////////////
            case WindowsExitCode.Sucessful:
                results.Success  = true;
                results.Restart  = false;
                results.Message  = "Update was successfully uninstalled.";
                results.ExitCode = WindowsExitCode.Sucessful;
                break;

            case WindowsExitCode.Reboot:
            case WindowsExitCode.Restart:
                results.Success  = true;
                results.Restart  = true;
                results.Message  = "Update was successfully uninstalled, but the system needs to be rebooted.";
                results.ExitCode = WindowsExitCode.Reboot;
                break;
            ///////////////////////////////////////////////////////////////////

            case WindowsExitCode.NotAllowed:
                results.Success  = false;
                results.Restart  = false;
                results.Message  = "Update is required by Windows so it can't be uninstalled.";
                results.ExitCode = WindowsExitCode.NotAllowed;
                break;

            case WindowsExitCode.UpdateNotFound:
                results.Success  = false;
                results.Restart  = false;
                results.Message  = "Update (or installer package) could not be found.";
                results.ExitCode = WindowsExitCode.UpdateNotFound;
                break;

            case WindowsExitCode.Failed:
                results.Success  = false;
                results.Restart  = false;
                results.Message  = "Update could not be uninstalled.";
                results.ExitCode = WindowsExitCode.Failed;
                break;

            case WindowsExitCode.Catastrophic:
                results.Success  = false;
                results.Restart  = false;
                results.Message  = "A catastrophic error accured at the system level.";
                results.ExitCode = WindowsExitCode.Catastrophic;
                break;

            default:
                results.Success  = false;
                results.Restart  = false;
                results.Message  = "Win32 Error: " + new Win32Exception((int)exitCode).Message;
                results.ExitCode = exitCode;
                break;
            }
            return(results);
        }
        private static UninstallerResults ProcessUninstallerResults(WindowsExitCode exitCode)
        {
            UninstallerResults results = new UninstallerResults();

            switch (exitCode)
            {
                ///////////////////// The Good Codes(TM) ///////////////////////////
                case WindowsExitCode.Sucessful:
                    results.Success = true;
                    results.Restart = false;
                    results.Message = "Update was successfully uninstalled.";
                    results.ExitCode = WindowsExitCode.Sucessful;
                    break;

                case WindowsExitCode.Reboot:
                case WindowsExitCode.Restart:
                    results.Success = true;
                    results.Restart = true;
                    results.Message = "Update was successfully uninstalled, but the system needs to be rebooted.";
                    results.ExitCode = WindowsExitCode.Reboot;
                    break;
                ///////////////////////////////////////////////////////////////////

                case WindowsExitCode.NotAllowed:
                    results.Success = false;
                    results.Restart = false;
                    results.Message = "Update is required by Windows so it can't be uninstalled.";
                    results.ExitCode = WindowsExitCode.NotAllowed;
                    break;

                case WindowsExitCode.UpdateNotFound:
                    results.Success = false;
                    results.Restart = false;
                    results.Message = "Update (or installer package) could not be found.";
                    results.ExitCode = WindowsExitCode.UpdateNotFound;
                    break;

                case WindowsExitCode.Failed:
                    results.Success = false;
                    results.Restart = false;
                    results.Message = "Update could not be uninstalled.";
                    results.ExitCode = WindowsExitCode.Failed;
                    break;

                case WindowsExitCode.Catastrophic:
                    results.Success = false;
                    results.Restart = false;
                    results.Message = "A catastrophic error accured at the system level.";
                    results.ExitCode = WindowsExitCode.Catastrophic;
                    break;

                default:
                    results.Success = false;
                    results.Restart = false;
                    results.Message = "Win32 Error: " + new Win32Exception((int)exitCode).Message;
                    results.ExitCode = exitCode;
                    break;
            }
            return results;
        }