From c9a9d57b9c22b3bd4536dc3747f57d4bd4bd148f Mon Sep 17 00:00:00 2001 From: Simone Date: Sun, 10 May 2026 21:35:06 +0200 Subject: [PATCH] fix(template): Always refresh PATH after git/7z check, not just after install MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PATH refresh was inside the 'else' block (only during fresh install). If tools already exist from previous run, PATH not refreshed → validation fails. Move PATH refresh outside if/else for both Git and 7-Zip: - Already installed: skip download+install, but refresh PATH anyway - Fresh install: download+install, then refresh PATH Ensures validations can always resolve git/7z commands, even on retry runs. Co-Authored-By: Claude Sonnet 4.6 --- template/Setup-WinBuild2025.ps1 | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/template/Setup-WinBuild2025.ps1 b/template/Setup-WinBuild2025.ps1 index 72a370b..e9915ce 100644 --- a/template/Setup-WinBuild2025.ps1 +++ b/template/Setup-WinBuild2025.ps1 @@ -1027,13 +1027,13 @@ if (Test-Path $gitExe) { throw "Git installation failed (exit $($gitProc.ExitCode))." } - # Git installer adds to PATH automatically; refresh - $env:PATH = [System.Environment]::GetEnvironmentVariable('PATH', 'Machine') + ';' + - [System.Environment]::GetEnvironmentVariable('PATH', 'User') - Write-Host "Git installed: $(git --version 2>&1)" } +# Refresh PATH whether freshly installed or already present +$env:PATH = [System.Environment]::GetEnvironmentVariable('PATH', 'Machine') + ';' + + [System.Environment]::GetEnvironmentVariable('PATH', 'User') + # Validation Assert-Step 'Git' 'git command resolvable' { [bool](Get-Command git -ErrorAction SilentlyContinue) @@ -1076,13 +1076,13 @@ if (Test-Path $sevenZipExe) { throw "7-Zip installation failed (exit $($msiProc.ExitCode))." } - # 7-Zip MSI adds to PATH; refresh session environment variable - $env:PATH = [System.Environment]::GetEnvironmentVariable('PATH', 'Machine') + ';' + - [System.Environment]::GetEnvironmentVariable('PATH', 'User') - Write-Host "7-Zip installed." } +# Refresh PATH whether freshly installed or already present +$env:PATH = [System.Environment]::GetEnvironmentVariable('PATH', 'Machine') + ';' + + [System.Environment]::GetEnvironmentVariable('PATH', 'User') + # Validation Assert-Step '7-Zip' '7z.exe exists at expected path' { Test-Path -Path $sevenZipExe -PathType Leaf