protected override void OnClosing(System.ComponentModel.CancelEventArgs e) { if (!SystemClosing && MessageBox.Show("Cancel Installation - Are you sure?", "Cancel", MessageBoxButton.YesNo) == MessageBoxResult.No) { e.Cancel = true; return; } if (MainClient.IsBusy) { MainClient.CancelAsync(); while (MainClient.IsBusy) { // wait to finish } } MainClient.Dispose(); Installer.ClearTempLocation(); base.OnClosing(e); }