diff --git a/scripts/Common/Scripts/Software.ps1 b/scripts/Common/Scripts/Software.ps1 index f5dc2b14..e0ba3701 100644 --- a/scripts/Common/Scripts/Software.ps1 +++ b/scripts/Common/Scripts/Software.ps1 @@ -196,9 +196,9 @@ $null = New-Module { function Start-SoftwareInstaller { param( [string] $Name, - [scriptblock] $Installer = { }, - [scriptblock] $Configurator = { }, - [scriptblock] $UserConfigurator = { }, + [scriptblock] $Installer = $null, + [scriptblock] $Configurator = $null, + [scriptblock] $UserConfigurator = $null, [Nullable[InstallerAction]] $Action, [hashtable] $Arguments ) @@ -236,12 +236,16 @@ $null = New-Module { }; if ($action -eq ([InstallerAction]::Install)) { - Write-Host "Installing $Name…"; - & $Installer @argumentList; + if ($Installer) { + Write-Host "Installing $Name…"; + & $Installer @argumentList; + } # ToDo: Automatically configure after installation } elseif ($Action -eq ([InstallerAction]::Configure)) { - Write-Host "Configuring $Name…"; - & $Configurator @argumentList; + if ($Configurator) { + Write-Host "Configuring $Name…"; + & $Configurator @argumentList; + } if (-not (Test-SetupUser)) { $argumentList.Add("action", [InstallerAction]::ConfigureUser); @@ -252,8 +256,10 @@ $null = New-Module { $argumentList.Add($userArgument, ($env:UserName)); } - Write-Host "Configuring $Name for user ``$($Arguments[$userArgument])``…"; - & $UserConfigurator @argumentList; + if ($UserConfigurator) { + Write-Host "Configuring $Name for user ``$($Arguments[$userArgument])``…"; + & $UserConfigurator @argumentList; + } } };