diff --git a/windows/installer/autounattend/autounattend.xml b/windows/installer/autounattend/autounattend.xml index af356e5..42bf809 100644 --- a/windows/installer/autounattend/autounattend.xml +++ b/windows/installer/autounattend/autounattend.xml @@ -2,12 +2,14 @@ @@ -24,10 +26,35 @@ - + + OnError + + 0 + true + + 1EFI300 + 2MSR16 + 3Primarytrue + + + 11FAT32 + 22 + 33NTFSC + + + + + + 03 + + + /IMAGE/INDEX1 + + + + - + true @@ -38,28 +65,26 @@ publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> true - true + true true - 3 + 3 - silvermetal Administrators SilverMetal + SM-setup-CHANGEME-1!true</PlainText></Password> </LocalAccount> </LocalAccounts> </UserAccounts> - <!-- - Hardening runs from C:\Windows\Setup\Scripts\SetupComplete.cmd, which - Windows Setup executes automatically (as SYSTEM) at the end of setup, - before first interactive logon. build.ps1 stages it + the hardening/ - modules into the image. No FirstLogonCommands needed (avoids a double-run). - --> <RegisteredOwner>SilverMetal</RegisteredOwner> <RegisteredOrganization>SilverLABS</RegisteredOrganization> + <!-- + Hardening runs from C:\Windows\Setup\Scripts\SetupComplete.cmd, which + Windows Setup executes automatically (as SYSTEM) at the end of setup. + --> </component> </settings> diff --git a/windows/installer/build.ps1 b/windows/installer/build.ps1 index eb151b6..7872397 100644 --- a/windows/installer/build.ps1 +++ b/windows/installer/build.ps1 @@ -142,8 +142,11 @@ function Invoke-Brand { Write-Stage 'Stage 5: branding'; Write-Warning ' defer function Invoke-Repack { Write-Stage 'Stage 6: repack UEFI-bootable ISO (oscdimg)' $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" } + # Prefer the no-prompt UEFI boot image so the ISO boots hands-off (no "press + # any key"); fall back to the prompt variant if absent. + $efi = Join-Path $isoRoot 'efi\microsoft\boot\efisys_noprompt.bin' + if (-not (Test-Path $efi)) { $efi = Join-Path $isoRoot 'efi\microsoft\boot\efisys.bin' } + if (-not (Test-Path $efi)) { throw "missing UEFI boot image under efi\microsoft\boot\" } # 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).