private Exception BuildException(int error)
{
switch (error)
{
case Win32ErrorFailNoactionReboot:
case Win32ErrorFailShutdown:
case Win32ErrorFailRestart:
bool permissionDenied;
string message = new Win32Exception(error).Message + Environment.NewLine + StringUtils.Join(Environment.NewLine, ListAppProblems(out permissionDenied));
if (permissionDenied) return new UnauthorizedAccessException(message);
else return new IOException(message);
default:
return WindowsUtils.BuildException(error);
}
}
#endregion