refactor-reset-revert #1
24
install.ps1
24
install.ps1
@@ -129,17 +129,29 @@ function Install-Package {
|
||||
Write-Success "$Name is already installed: $version"
|
||||
|
||||
if ($MinVersion -and $version) {
|
||||
# Basic version check (not perfect but good enough for common cases)
|
||||
if ($version -match '(\d+\.[\d.]+)') {
|
||||
# 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+){1,2})') {
|
||||
$installedVersion = $matches[1]
|
||||
if ([version]$installedVersion -lt [version]$MinVersion) {
|
||||
Write-Warning "Version $installedVersion is below minimum required version $MinVersion"
|
||||
Write-Host " Attempting to upgrade..." -ForegroundColor Cyan
|
||||
try {
|
||||
if ([version]$installedVersion -lt [version]$MinVersion) {
|
||||
Write-Warning "Version $installedVersion is below minimum required version $MinVersion"
|
||||
Write-Host " Attempting to upgrade..." -ForegroundColor Cyan
|
||||
}
|
||||
else {
|
||||
return $true
|
||||
}
|
||||
}
|
||||
else {
|
||||
catch {
|
||||
Write-Warning "Version comparison failed - assuming sufficient version"
|
||||
return $true
|
||||
}
|
||||
}
|
||||
else {
|
||||
Write-Warning "Could not parse version from: $version"
|
||||
Write-Host " Assuming installed version is sufficient..." -ForegroundColor Cyan
|
||||
return $true
|
||||
}
|
||||
}
|
||||
else {
|
||||
return $true
|
||||
|
||||
Reference in New Issue
Block a user