private void btnRestore_Click(object sender, EventArgs e)
 {
     Logger.LogMessage("Begin restore server configuration", LogType.Info);
     if (client != null && client.IsConnected && si != null)
     {
         si.Refresh_ConfigXML();
         if (si.ConfigXML.Length > 0)
         {
             string config = String.Empty;
             using (OpenFileDialog open = new OpenFileDialog())
             {
                 open.Filter             = "Config File|*.xml";
                 open.Title              = "Restore Configuration Backup";
                 open.AddExtension       = true;
                 open.AutoUpgradeEnabled = true;
                 open.CheckPathExists    = true;
                 open.DefaultExt         = "xml";
                 open.ValidateNames      = true;
                 open.RestoreDirectory   = true;
                 open.InitialDirectory   = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
                 if (open.ShowDialog() == DialogResult.OK && !String.IsNullOrEmpty(open.FileName))
                 {
                     FileInfo fileinfo = new FileInfo(open.FileName);
                     if (DialogResult.Yes == MessageBox.Show("Upload config and Reboot server?", "Confirm Reboot", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2))
                     {
                         if (si.Update_ConfigXML(fileinfo))
                         {
                             Logger.LogMessage("Restore configuration was successful", LogType.Info);
                             client.RebootServer();
                             client.Dispose();
                             ClearServerInfo();
                             UpdateLogonControlState();
                             btnConnect.Focus();
                             Logger.LogMessage("Exiting restore server configuration", LogType.Debug);
                             return;
                         }
                         Logger.LogMessage("Restore failed to process", LogType.Error);
                         MessageBox.Show("Unable to copy configuration to server.", "File Copy Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     }
                 }
             }
         }
     }
     else
     {
         Logger.LogMessage("Restore failed, connectivity fault", LogType.Error);
         MessageBox.Show("Unable to communicate with server. Check connectivity.", "Connection Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return;
     }
 }