17 lines
620 B
PowerShell
17 lines
620 B
PowerShell
function Test-HermesUpdateShouldRetry {
|
|
param(
|
|
[int]$ExitCode,
|
|
[string]$InstallRoot
|
|
)
|
|
|
|
if ($ExitCode -eq 0) { return $false }
|
|
if ($ExitCode -ne 2) { return $true }
|
|
|
|
# Exit 2 is shared by non-retryable safety refusals and the self-lock
|
|
# deferral. Only the latter writes this marker. The handoff treats it as a
|
|
# retry signal for one fresh-process attempt, whose early-recovery pass
|
|
# completes core dependencies before native modules load.
|
|
$deferredInstallMarker = Join-Path $InstallRoot ".update-incomplete"
|
|
return Test-Path -LiteralPath $deferredInstallMarker
|
|
}
|