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