diff --git a/template/Setup-WinBuild2025.ps1 b/template/Setup-WinBuild2025.ps1 index 61ae48b..30ad1cc 100644 --- a/template/Setup-WinBuild2025.ps1 +++ b/template/Setup-WinBuild2025.ps1 @@ -1079,10 +1079,14 @@ if (Test-Path $sevenZipExe) { Write-Host "7-Zip installed." } -# 7-Zip MSI does NOT add to system PATH — inject directory directly -if ($env:PATH -notlike "*$sevenZipDir*") { - $env:PATH = $env:PATH + ";$sevenZipDir" +# 7-Zip MSI does NOT add to system PATH — register permanently in Machine PATH +$machinePath = [System.Environment]::GetEnvironmentVariable('PATH', 'Machine') +if ($machinePath -notlike "*$sevenZipDir*") { + [System.Environment]::SetEnvironmentVariable( + 'PATH', "$machinePath;$sevenZipDir", 'Machine') } +$env:PATH = [System.Environment]::GetEnvironmentVariable('PATH', 'Machine') + ';' + + [System.Environment]::GetEnvironmentVariable('PATH', 'User') # Validation Assert-Step '7-Zip' '7z.exe exists at expected path' {