function Get-ChocolateyParameterString { <# .SYNOPSIS Get the complex parameter string that gets passed on package installation to all installable packages. .DESCRIPTION Get the complex parameter string that gets passed on package installation to all installable packages. We pass these values at all times even if the installing package doesn't know about the parameters for consistency. .PARAMETER Package [PSObject] Must have a property Name that indicates the package being installed .PARAMETER Environment Optional. The environment this package is being installed to. .PARAMETER RunMigrations [Switch] If this package has migraitons, should migrations be run for this package at install? .PARAMETER Package [Switch] If this is a service, should it be started? #> [OutputType([string])] [CmdletBinding()] Param( [Parameter(Mandatory = $true)] [object]$Package, [Parameter(Mandatory = $false)] [Alias("env","e")] [string]$Environment, [Parameter(Mandatory = $false)] [Alias("migrate","m")] [bool]$RunMigrations = $true, [Parameter(Mandatory = $false)] [Alias("start","s")] [bool]$StartService = $false ) # Determine optional New Relic app name based on the package $newRelicParam = ""; if ($Environment) { $newRelicName = (Get-NewRelicAppNameForConfigurationValue $Package.Name) $newRelicParam = "/NewRelicAppName:'$Environment $newRelicName'"; } $boolString = if($RunMigrations) { "true" } else { "false" } $migrationParam = "/MigrationsEnabled:$boolString" $boolString = if($StartService) { "true" } else { "false" } $startupParam = "/Alkami.Installer.ServiceStartupMode:$boolString" $chocoParamString = "`"$migrationParam $startupParam $newRelicParam`""; return $chocoParamString; }