diff --git a/MediaBrowser.Installer/MainWindow.xaml.cs b/MediaBrowser.Installer/MainWindow.xaml.cs index 0a30cc6a26..bb26125238 100644 --- a/MediaBrowser.Installer/MainWindow.xaml.cs +++ b/MediaBrowser.Installer/MainWindow.xaml.cs @@ -241,7 +241,6 @@ namespace MediaBrowser.Installer } catch (Exception e) { - SystemClose("Error Removing Archive - " + e.GetType().FullName + "\n\n" + e.Message); return; } @@ -399,17 +398,12 @@ namespace MediaBrowser.Installer protected void ExtractPackage(string archive) { // Delete old content of system - var systemDir = Path.Combine(RootPath, "system"); + var systemDir = Path.Combine(RootPath, "System"); + var backupDir = Path.Combine(RootPath, "System.old"); if (Directory.Exists(systemDir)) { - try - { - Directory.Delete(systemDir, true); - } - catch - { - // we tried... - } + if (Directory.Exists(backupDir)) Directory.Delete(backupDir,true); + Directory.Move(systemDir, backupDir); } // And extract @@ -437,6 +431,10 @@ namespace MediaBrowser.Installer } else { + //Rollback + if (Directory.Exists(systemDir)) Directory.Delete(systemDir); + Directory.Move(backupDir, systemDir); + File.Delete(archive); // so we don't try again if its an update throw; } }