Functions/Install-ExeFromUrl.ps1
function Install-ExeFromUrl { [CmdletBinding()] param ([string] $exePath , [string] $url , [string] $toolName , [string[]] $exeArgs ) $response = Get-FileFromUrl -ToolPath $exePath -url $url Write-Verbose "Response received" if ($null -ne $Response) { try { Write-Host "$toolName to be installed" $toolexe = $Response.filename $ErrorActionPreference = "continue"; Write-Verbose "Executing file: $toolexe" Write-Verbose "Args: $exeArgs" $LASTEXITCODE=0 $result = start-Process $toolexe -ArgumentList $exeArgs -Wait -PassThru $ErrorActionPreference = "stop"; if ($null -ne $result.ExitCode -and $result.ExitCode -ne 0) { throw "Installation of $toolname failed, see previous output" } Save-MetaDataToFile (Get-MetaDataFile $exePath) $response.Metadata Write-Host "$toolName installed" } catch { throw } } } |