29 lines
1.0 KiB
PowerShell
29 lines
1.0 KiB
PowerShell
function Test-IsPackageUpgradeOnlyV2 {
|
|
<#
|
|
.SYNOPSIS
|
|
Returns true if a particular package should -only- be run in upgrade mode, and never force reinstalled.
|
|
|
|
.PARAMETER PackageName
|
|
[string] The package name to check
|
|
|
|
.PARAMETER Package
|
|
[object] The package to check
|
|
#>
|
|
[CmdletBinding(DefaultParameterSetName = 'PackageName')]
|
|
[OutputType([bool])]
|
|
Param (
|
|
[Parameter(Mandatory = $true, Position = 0, ParameterSetName = 'PackageName')]
|
|
[ValidateScript({if ($PSCmdlet.ParameterSetName -eq 'PackageName') {return ![string]::IsNullOrWhiteSpace($_)} else {return $true}})]
|
|
[string]$PackageName,
|
|
[Parameter(Mandatory = $true, Position = 0, ParameterSetName = 'Package')]
|
|
[ValidateScript({if ($PSCmdlet.ParameterSetName -eq 'Package') {return $null -ne $_} else {return $true}})]
|
|
[object]$Package
|
|
)
|
|
|
|
if ($PSCmdlet.ParameterSetName -eq 'Package') {
|
|
$PackageName = $Package.Name
|
|
}
|
|
|
|
return ($_UpgradePackages.Where({$PackageName -like $_}).Where({$_}).Count -gt 0)
|
|
}
|