fix: version checks
This commit is contained in:
16
install.ps1
16
install.ps1
@@ -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"
|
||||
@@ -310,11 +316,11 @@ function Get-SystemPrerequisites {
|
||||
$minor = if ($matches[2]) { [int]$matches[2] } else { 0 }
|
||||
$patch = if ($matches[3]) { [int]$matches[3] } else { 0 }
|
||||
$installedVersion = "$major.$minor.$patch"
|
||||
|
||||
|
||||
$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) {
|
||||
|
||||
Reference in New Issue
Block a user