diff options
Diffstat (limited to 'MediaBrowser.Installer/MainWindow.xaml.cs')
| -rw-r--r-- | MediaBrowser.Installer/MainWindow.xaml.cs | 28 |
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> |
