fix(template): Always refresh PATH after git/7z check, not just after install

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 <noreply@anthropic.com>
This commit is contained in:
Simone
2026-05-10 21:35:06 +02:00
parent a981be62f4
commit c9a9d57b9c
+8 -8
View File
@@ -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