@@ -520,9 +520,39 @@ function Install-UpliftPSModule {
520520
521521 Param (
522522 $name ,
523- $version
523+ $version ,
524+ $repository = " PSGallery" ,
525+ $usePS6 = $False
524526 )
525527
528+ if ( [String ]::IsNullOrEmpty($version ) -eq $True ) {
529+ $version = $null
530+
531+ Write-UpliftMessage " Looking for the latest module $name "
532+
533+ $moduleDefinition = Find-Module - Name $name `
534+ | Select-Object Version, Repository `
535+ | Sort-Object Version - Descending `
536+ | Select-Object - First 1
537+
538+ Write-UpliftMessage " Found latest module"
539+ Write-UpliftMessage $moduleDefinition
540+ Write-UpliftMessage " - version : $ ( $moduleDefinition.Version ) "
541+ Write-UpliftMessage " - repository: $ ( $moduleDefinition.Repository ) "
542+
543+ if ($null -eq $moduleDefinition ) {
544+ throw " Failed to install module $name - repo/version were not provided, and cannot find latest in any repo"
545+ }
546+
547+ $version = $moduleDefinition.Version
548+
549+ if ([String ]::IsNullOrEmpty($repository ) -eq $True ) {
550+ $repository = $moduleDefinition.Repository
551+ }
552+
553+ Write-UpliftMessage " Installing latest ($version ) $name version: $version , repository: $repository "
554+ }
555+
526556 $maxAttempt = 5
527557 $attempt = 1
528558 $success = $false
@@ -535,26 +565,30 @@ function Install-UpliftPSModule {
535565 $progressPreference = ' silentlyContinue'
536566
537567 Write-UpliftMessage " `t [$attempt /$maxAttempt ] ensuring package: $name $version "
538- $existinModule = $null
568+ $moduleExists = $null
539569
570+ # does module exist locally?
540571 if ( [String ]::IsNullOrEmpty($version ) -eq $True ) {
541572 Write-UpliftMessage " `t checking if package exists: $name $version "
542- $existinModule = Get-Module - ListAvailable | Where-Object { $_.Name -eq $name }
573+ $moduleExists = Get-Module - ListAvailable | Where-Object { $_.Name -eq $name }
543574 } else {
544575 Write-UpliftMessage " `t checking if package exists: $name $version "
545- $existinModule = Get-Module - ListAvailable | Where-Object { $_.Name -eq $name -and $_.Version -eq $version }
576+ $moduleExists = Get-Module - ListAvailable | Where-Object { $_.Name -eq $name -and $_.Version -eq $version }
546577 }
547578
548- if ( $null -ne $existinModule ) {
579+ if ( $null -ne $moduleExists ) {
549580 Write-UpliftMessage " `t`t package exists, nothing to do: $name $version "
550581 }
551582 else {
552- Write-UpliftMessage " `t`t package does not exist, installing: $name $version "
583+ if ($usePS6 -eq $True ) {
584+ Write-UpliftMessage " `t`t package does not exist (PS6), installing: $name $version "
553585
554- if ([ System.String ]::IsNullOrEmpty( $version ) -eq $true ) {
555- Install-Module - Name $name - Force - SkipPublisherCheck
586+ pwsh - c " Install-Package $name -Source $repository -RequiredVersion $version -Force -SkipPublisherCheck "
587+ Confirm-UpliftExitCode $LASTEXITCODE " Cannot install PS6 module: $name , version: $version repository: $repository "
556588 } else {
557- Install-Module - Name $name - RequiredVersion $version - Force - SkipPublisherCheck
589+ Write-UpliftMessage " `t`t package does not exist (PS), installing: $name $version "
590+
591+ Install-Package $name - Source $repository - RequiredVersion $version - Force - SkipPublisherCheck
558592 }
559593 }
560594
@@ -687,81 +721,6 @@ function Install-UpliftPS6Module() {
687721 Install-UpliftPSModule $moduleName $version $repository $True
688722}
689723
690- # function Install-UpliftPSModule() {
691- # [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSShouldProcess", "", Scope = "Function")]
692- # [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseShouldProcessForStateChangingFunctions", "", Scope = "Function")]
693- # [Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSAvoidUsingWriteHost", "", Scope = "Function")]
694-
695- # param(
696- # $moduleName,
697- # $version,
698- # $repository,
699- # $usePS6 = $false
700- # )
701-
702- # if( [String]::IsNullOrEmpty($version) -eq $True) {
703- # $version = $null
704- # }
705-
706- # Write-UpliftMessage "Installing module: $moduleName version: $version, repository: $repository"
707-
708- # Write-UpliftMessage "Looking for the latest module $moduleName"
709- # $moduleDefinition = Find-Module -Name $moduleName `
710- # | Select-Object Version, Repository `
711- # | Sort-Object Version -Descending `
712- # | Select-Object -First 1
713-
714- # Write-UpliftMessage "Found latest module"
715- # Write-UpliftMessage $moduleDefinition
716- # Write-UpliftMessage " - version : $($moduleDefinition.Version)"
717- # Write-UpliftMessage " - repository: $($moduleDefinition.Repository)"
718-
719- # if([String]::IsNullOrEmpty($version) -eq $True) {
720-
721- # if($null -eq $moduleDefinition) {
722- # throw "Failed to install module $moduleName - repo/version were not provided, and cannot find latest in any repo"
723- # }
724-
725- # $version = $moduleDefinition.Version
726-
727- # if([String]::IsNullOrEmpty($repository) -eq $True) {
728- # $repository = $moduleDefinition.Repository
729- # }
730-
731- # Write-UpliftMessage "Installing latest ($version) $moduleName version: $version, repository: $repository"
732-
733- # if($usePS6 -eq $True) {
734- # pwsh -c "Install-Package $moduleName -Source $repository -RequiredVersion $version -Force -SkipPublisherCheck"
735- # Confirm-UpliftExitCode $LASTEXITCODE "Cannot install PS6 module: $moduleName, version: $version repository: $repository"
736- # } else {
737- # Install-Package $moduleName -Source $repository -RequiredVersion $version -Force -SkipPublisherCheck
738- # }
739- # }
740- # else {
741- # if([String]::IsNullOrEmpty($repository) -eq $True) {
742- # $repository = $moduleDefinition.Repository
743- # }
744-
745- # Write-UpliftMessage "Installing specified version $moduleName version: $version, repository: $repository"
746-
747- # if($usePS6 -eq $True) {
748- # pwsh -c "Install-Package $moduleName -Source $repository -Force -RequiredVersion $version -SkipPublisherCheck"
749- # Confirm-UpliftExitCode $LASTEXITCODE "Cannot install PS6 module: $moduleName, version: $version repository: $repository"
750- # } else {
751- # Install-Package $moduleName -Source $repository -Force -RequiredVersion $version -SkipPublisherCheck
752- # }
753- # }
754-
755- # Write-UpliftMessage "Checking installed module: $moduleName"
756-
757- # if($usePS6 -eq $True) {
758- # pwsh -c "Get-InstalledModule $moduleName"
759- # Confirm-UpliftExitCode $LASTEXITCODE "Cannot find installed PS6 module: $moduleName"
760- # } else {
761- # # TODO
762- # }
763- # }
764-
765724function Repair-UpliftIISApplicationHostFile {
766725 # https://forums.iis.net/t/1160389.aspx
767726
0 commit comments