.msi が提供されているコンポーネントを自動インストールする

install.ps1

param(
  [parameter(Mandatory=$true)]
  [String]$url
)
$client = New-Object System.Net.WebClient
$uri = New-Object System.Uri($url)
$file = Split-Path $uri.AbsolutePath -Leaf
$downloadPath = Join-Path $Env:TEMP $file
Write-Host "$uri  Download します"
$client.DownloadFile($uri, $downloadPath)
$installLogPath = Join-Path $Env:TEMP ($file + ".log")
Write-Host "$file  Install します"
msiexec /i $downloadPath /quiet /l* $installLogPath
while ($true) {
  sleep -m 500
  try { 
    $fs = [System.IO.File]::Open($installLogPath, [System.IO.FileMode]::Open, [System.IO.FileAccess]::ReadWrite)
    $fs.close()
    break
  } catch [Exception]{ 
    Write-Host "lock"
  } 
}
$log = Get-Content $installLogPath
Write-Host $log
Write-Host "$downloadPath  削除 します"
Remove-Item $downloadPath
Remove-Item $installLogPath

MSDN System.Net.WebClientTechNet Msiexec (コマンド ライン オプション) を利用しているだけですが。
使い方はこんな感じ。

OpenCover 2.1.15

PS>.\install.ps1 -url https://github.com/downloads/sawilde/opencover/opencover.2.1.15.msi

NUnit 2.5.10.11092

PS>.\install.ps1 -url http://launchpad.net/nunitv2/2.5/2.5.10/+download/NUnit-2.5.10.11092.msi

MSBuild や Jenkins とかでの自動インストールも出来そうですね。