fix: version checks

This commit is contained in:
Bjarke Sporring
2026-01-15 10:23:15 +01:00
parent 9e22f84a53
commit eadf8cfe6a

View File

@@ -93,7 +93,10 @@ function Get-InstalledVersion {
try {
$output = & $Command $VersionArg 2>&1 | Select-Object -First 1
return $output.ToString().Trim()
if ($null -ne $output) {
return $output.ToString().Trim()
}
return $null
}
catch {
return $null
@@ -132,7 +135,10 @@ function Install-Package {
# Extract semantic version numbers only - stop before any non-digit/non-dot characters
# This extracts "2.52.0" from "2.52.0.windows.1"
if ($version -match '(\d+)(?:\.(\d+))?(?:\.(\d+))?') {
$installedVersion = $matches[1] + "." +$matches[2]
$major = $matches[1]
$minor = if ($matches[2]) { $matches[2] } else { "0" }
$patch = if ($matches[3]) { $matches[3] } else { "0" }
$installedVersion = "$major.$minor.$patch"
try {
if ([version]$installedVersion -lt [version]$MinVersion) {
Write-Warning "Version $installedVersion is below minimum required version $MinVersion"
@@ -313,8 +319,8 @@ function Get-SystemPrerequisites {
$minParts = $tool.MinVersion.Split('.')
$minMajor = [int]$minParts[0]
$minMinor = if ($minParts[1]) { [int]$minParts[1] } else { 0 }
$minPatch = if ($minParts[2]) { [int]$minParts[2] } else { 0 }
$minMinor = if ($minParts.Length -gt 1) { [int]$minParts[1] } else { 0 }
$minPatch = if ($minParts.Length -gt 2) { [int]$minParts[2] } else { 0 }
$minVersion = "$minMajor.$minMinor.$minPatch"
if ([version]$installedVersion -lt [version]$minVersion) {