summaryrefslogtreecommitdiff
path: root/eng/common/init-tools-native.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'eng/common/init-tools-native.ps1')
-rw-r--r--eng/common/init-tools-native.ps121
1 files changed, 10 insertions, 11 deletions
diff --git a/eng/common/init-tools-native.ps1 b/eng/common/init-tools-native.ps1
index a4306bd37e..9d18645f45 100644
--- a/eng/common/init-tools-native.ps1
+++ b/eng/common/init-tools-native.ps1
@@ -79,28 +79,27 @@ try {
$NativeTools.PSObject.Properties | ForEach-Object {
$ToolName = $_.Name
$ToolVersion = $_.Value
- $LocalInstallerCommand = $InstallerPath
- $LocalInstallerCommand += " -ToolName $ToolName"
- $LocalInstallerCommand += " -InstallPath $InstallBin"
- $LocalInstallerCommand += " -BaseUri $BaseUri"
- $LocalInstallerCommand += " -CommonLibraryDirectory $EngCommonBaseDir"
- $LocalInstallerCommand += " -Version $ToolVersion"
+ $LocalInstallerArguments = @{ ToolName = "$ToolName" }
+ $LocalInstallerArguments += @{ InstallPath = "$InstallBin" }
+ $LocalInstallerArguments += @{ BaseUri = "$BaseUri" }
+ $LocalInstallerArguments += @{ CommonLibraryDirectory = "$EngCommonBaseDir" }
+ $LocalInstallerArguments += @{ Version = "$ToolVersion" }
if ($Verbose) {
- $LocalInstallerCommand += " -Verbose"
+ $LocalInstallerArguments += @{ Verbose = $True }
}
if (Get-Variable 'Force' -ErrorAction 'SilentlyContinue') {
if($Force) {
- $LocalInstallerCommand += " -Force"
+ $LocalInstallerArguments += @{ Force = $True }
}
}
if ($Clean) {
- $LocalInstallerCommand += " -Clean"
+ $LocalInstallerArguments += @{ Clean = $True }
}
Write-Verbose "Installing $ToolName version $ToolVersion"
- Write-Verbose "Executing '$LocalInstallerCommand'"
- Invoke-Expression "$LocalInstallerCommand"
+ Write-Verbose "Executing '$InstallerPath $LocalInstallerArguments'"
+ & $InstallerPath @LocalInstallerArguments
if ($LASTEXITCODE -Ne "0") {
$errMsg = "$ToolName installation failed"
if ((Get-Variable 'DoNotAbortNativeToolsInstallationOnFailure' -ErrorAction 'SilentlyContinue') -and $DoNotAbortNativeToolsInstallationOnFailure) {