aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Installer/MainWindow.xaml.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Installer/MainWindow.xaml.cs')
-rw-r--r--MediaBrowser.Installer/MainWindow.xaml.cs28
1 files changed, 24 insertions, 4 deletions
diff --git a/MediaBrowser.Installer/MainWindow.xaml.cs b/MediaBrowser.Installer/MainWindow.xaml.cs
index 4826c3d22..3d60274b1 100644
--- a/MediaBrowser.Installer/MainWindow.xaml.cs
+++ b/MediaBrowser.Installer/MainWindow.xaml.cs
@@ -409,14 +409,34 @@ namespace MediaBrowser.Installer
}
// And extract
- using (var fileStream = File.OpenRead(archive))
+ var retryCount = 0;
+ var success = false;
+ while (!success && retryCount < 3)
{
- using (var zipFile = ZipFile.Read(fileStream))
+ try
{
- zipFile.ExtractAll(RootPath, ExtractExistingFileAction.OverwriteSilently);
+ using (var fileStream = File.OpenRead(archive))
+ {
+ using (var zipFile = ZipFile.Read(fileStream))
+ {
+ zipFile.ExtractAll(RootPath, ExtractExistingFileAction.OverwriteSilently);
+ success = true;
+ }
+ }
+ }
+ catch
+ {
+ if (retryCount < 3)
+ {
+ Thread.Sleep(250);
+ retryCount++;
+ }
+ else
+ {
+ throw;
+ }
}
}
-
}
/// <summary>