Public/Install-P1Package.ps1
function Install-P1Package { <# .Synopsis Get all required packages from PlannerOne NuGet server. .Description Connect to remote repository and get the latest release. .Parameter Package The PlannerOne package list. .Example # Install PlannerOne server, web and NAV 2016 objects Install-P1Package PlannerOne.Server,PlannerOne.WebApp,PlannerOne.NAV2016Objects #> [cmdletbinding()] param( [string[]] $Package ) Process { $feedUrl = Get-FeedUrl if ($feedUrl -eq "") { return } else { try { $plannerOneSource = Get-PackageSource PlannerOne -ErrorAction "SilentlyContinue" } catch {} if ($plannerOneSource -eq $null) { Write-Verbose "Registering $feedUrl as a trusted package source for PlannerOne." Register-PackageSource -Name PlannerOne -Trusted -ProviderName NuGet -Location $feedUrl | Out-Null } } if ($null -eq $Package) { Write-Warning "No package specified: command will use $P1SrvPackage,$P1WebPackage." $Package = @( $P1SrvPackage; $P1WebPackage; ) } Write-Section "Getting PlannerOne packages..." if (Get-Command Install-Package -errorAction SilentlyContinue) { Write-Verbose "Install-Package exists" foreach($Pack in $Package) { Write-Output "Installing $Pack..." Install-Package $Pack -Source $feedUrl | Out-Null $Folder = Get-PackageFolder $Pack Write-OK "Package installed in $Folder" } } else { Write-Output "Install-Package doesn't exist, using NuGet" foreach($Pack in $Package) { Write-Output "Installing $Pack..." NuGet install $Pack -Source $feedUrl } } Write-OK "Packages installed" } } |