fix(installer): wrap WriteInstallManifestStep I/O in try/catch like sibling steps
This commit is contained in:
@@ -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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user