Retries on extraction in installer

This commit is contained in:
Eric Reed
2013-03-28 11:58:41 -04:00
parent d89df344e4
commit 18ff009874
2 changed files with 25 additions and 5 deletions

View File

@@ -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>