Rework how package extraction works

maybe this might just fix things?
This commit is contained in:
pizzaboxer 2023-07-17 22:47:39 +01:00
parent 907a3c3517
commit 33aab4ff8a
No known key found for this signature in database
GPG Key ID: 59D4A1DBAD0F2BA8

View File

@ -1218,8 +1218,8 @@ namespace Bloxstrap
App.Logger.WriteLine($"[Bootstrapper::ExtractPackage] Extracting {package.Name} to {packageFolder}...");
using (ZipArchive archive = await Task.Run(() => ZipFile.OpenRead(packageLocation)))
{
using ZipArchive archive = await Task.Run(() => ZipFile.OpenRead(packageLocation));
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (_cancelFired)
@ -1239,8 +1239,12 @@ namespace Bloxstrap
Directory.CreateDirectory(directory);
await Task.Run(() => entry.ExtractToFile(extractPath, true));
}
using var fileStream = new FileStream(extractPath, FileMode.CreateNew, FileAccess.Write, FileShare.None, bufferSize: 0x1000, useAsync: true);
using var dataStream = entry.Open();
await dataStream.CopyToAsync(fileStream);
File.SetLastWriteTime(extractPath, entry.LastWriteTime.DateTime);
}
App.Logger.WriteLine($"[Bootstrapper::ExtractPackage] Finished extracting {package.Name}");