fix(installer): wrap WriteInstallManifestStep I/O in try/catch like sibling steps

This commit is contained in:
Mika Kuns
2026-04-15 09:58:16 +02:00
parent fe913ae5ef
commit 12e532718c

View File

@@ -12,14 +12,21 @@ public sealed class WriteInstallManifestStep : IInstallStep
if (string.IsNullOrWhiteSpace(ctx.InstalledVersion)) if (string.IsNullOrWhiteSpace(ctx.InstalledVersion))
return Task.FromResult(StepResult.Fail("Installed version is not set — DownloadAndExtractStep must run first.")); return Task.FromResult(StepResult.Fail("Installed version is not set — DownloadAndExtractStep must run first."));
var manifest = new InstallManifest( try
Version: ctx.InstalledVersion!, {
InstallDir: ctx.InstallDirectory, var manifest = new InstallManifest(
WorkerDir: Path.Combine(ctx.InstallDirectory, "worker"), Version: ctx.InstalledVersion,
InstalledAt: DateTimeOffset.UtcNow); InstallDir: ctx.InstallDirectory,
WorkerDir: Path.Combine(ctx.InstallDirectory, "worker"),
InstalledAt: DateTimeOffset.UtcNow);
InstallManifestStore.Write(ctx.InstallDirectory, manifest); InstallManifestStore.Write(ctx.InstallDirectory, manifest);
progress.Report($"Wrote {InstallManifestStore.ManifestPath(ctx.InstallDirectory)}"); progress.Report($"Wrote {InstallManifestStore.ManifestPath(ctx.InstallDirectory)}");
return Task.FromResult(StepResult.Ok()); return Task.FromResult(StepResult.Ok());
}
catch (Exception ex)
{
return Task.FromResult(StepResult.Fail(ex.Message));
}
} }
} }