Skip to content

Commit

Permalink
Rework how package extraction works
Browse files Browse the repository at this point in the history
maybe this might just fix things?
  • Loading branch information
pizzaboxer committed Jul 17, 2023
1 parent 907a3c3 commit 33aab4f
Showing 1 changed file with 19 additions and 15 deletions.
34 changes: 19 additions & 15 deletions Bloxstrap/Bootstrapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1218,29 +1218,33 @@ private async Task ExtractPackage(Package package)

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)
{
foreach (ZipArchiveEntry entry in archive.Entries)
{
if (_cancelFired)
return;
if (_cancelFired)
return;

if (entry.FullName.EndsWith('\\'))
continue;
if (entry.FullName.EndsWith('\\'))
continue;

extractPath = Path.Combine(packageFolder, entry.FullName);
extractPath = Path.Combine(packageFolder, entry.FullName);

//App.Logger.WriteLine($"[{package.Name}] Writing {extractPath}...");
//App.Logger.WriteLine($"[{package.Name}] Writing {extractPath}...");

string? directory = Path.GetDirectoryName(extractPath);
string? directory = Path.GetDirectoryName(extractPath);

if (directory is null)
continue;
if (directory is null)
continue;

Directory.CreateDirectory(directory);

Directory.CreateDirectory(directory);
using var fileStream = new FileStream(extractPath, FileMode.CreateNew, FileAccess.Write, FileShare.None, bufferSize: 0x1000, useAsync: true);
using var dataStream = entry.Open();

await Task.Run(() => entry.ExtractToFile(extractPath, true));
}
await dataStream.CopyToAsync(fileStream);

File.SetLastWriteTime(extractPath, entry.LastWriteTime.DateTime);
}

App.Logger.WriteLine($"[Bootstrapper::ExtractPackage] Finished extracting {package.Name}");
Expand Down

0 comments on commit 33aab4f

Please sign in to comment.