# eXeLearning installer for Windows. # Usage: irm https://get.exelearning.dev/install.ps1 | iex $ErrorActionPreference = 'Stop' [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $repo = 'exelearning/exelearning' Write-Host "==> Querying latest release" $release = Invoke-RestMethod -Uri "https://api.github.com/repos/$repo/releases/latest" -UseBasicParsing $asset = $release.assets | Where-Object { $_.name -like 'eXeLearning-Setup-*.exe' } | Select-Object -First 1 if (-not $asset) { $asset = $release.assets | Where-Object { $_.name -like '*.msi' } | Select-Object -First 1 } if (-not $asset) { throw "No Windows installer found in release $($release.tag_name)" } $dest = Join-Path $env:TEMP $asset.name Write-Host "==> Downloading $($asset.name)" Invoke-WebRequest -Uri $asset.browser_download_url -OutFile $dest -UseBasicParsing Write-Host "==> Launching installer" if ($dest.ToLower().EndsWith('.msi')) { Start-Process msiexec.exe -ArgumentList @('/i', $dest) -Wait } else { Start-Process -FilePath $dest -Wait } Write-Host "==> Done."