fix(windows/build): drop oscdimg -bootdata inner quotes (PS arg mangling)
All checks were successful
Build SilverMetal Enhanced - Windows ISO / build (pull_request) Successful in 3m24s

Stages 1-5 pass; oscdimg failed with Error 123 because PowerShell doubled the
embedded quotes in -bootdata. Work paths have no spaces, so omit the inner
quotes around etfsboot.com/efisys.bin entirely.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
sysadmin
2026-06-08 21:08:33 +01:00
parent 3effd5e338
commit 5dbbaaf22c

View File

@@ -144,9 +144,12 @@ function Invoke-Repack {
$etfs = Join-Path $isoRoot 'boot\etfsboot.com'
$efi = Join-Path $isoRoot 'efi\microsoft\boot\efisys.bin'
if (-not (Test-Path $efi)) { throw "missing UEFI boot image: $efi" }
$bootdata = '2#p0,e,b"{0}"#pEF,e,b"{1}"' -f $etfs, $efi
# Work paths have no spaces (SYSTEM TEMP / runner temp), so omit oscdimg's
# inner quotes around the boot images -- otherwise PowerShell mangles the
# native -bootdata arg into doubled quotes (oscdimg Error 123).
$bootdata = "2#p0,e,b$etfs#pEF,e,b$efi"
if (Test-Path $OutputIso) { Remove-Item $OutputIso -Force }
& $oscdimg -m -o -u2 -udfver102 -l"SILVERMETAL" "-bootdata:$bootdata" $isoRoot $OutputIso
& $oscdimg -m -o -u2 -udfver102 -lSILVERMETAL "-bootdata:$bootdata" $isoRoot $OutputIso
if ($LASTEXITCODE -ne 0) { throw "oscdimg failed ($LASTEXITCODE)" }
}