aboutsummaryrefslogtreecommitdiff
path: root/scripts/azure-pipelines/windows/deploy-windows-sdks.ps1
blob: 9c6ca0a5d110b23e0d3ea7f012e0f9efb9a39742 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: MIT

# REPLACE WITH DROP-TO-ADMIN-USER-PREFIX.ps1

# REPLACE WITH UTILITY-PREFIX.ps1

<#
.SYNOPSIS
Installs Windows PSDK/WDK

.DESCRIPTION
Downloads the Windows PSDK/DDK installer located at $Url, and installs it with the
correct flags.

.PARAMETER Url
The URL of the installer.
#>
Function InstallWindowsDK {
  Param(
    [String]$Url
  )

  try {
    Write-Host "Downloading Windows PSDK or DDK $Url..."
    [string]$installerPath = Get-TempFilePath -Extension 'exe'
    curl.exe -L -o $installerPath -s -S $Url
    Write-Host 'Installing...'
    $proc = Start-Process -FilePath $installerPath -ArgumentList @('/features', '+', '/q') -Wait -PassThru
    $exitCode = $proc.ExitCode
    if ($exitCode -eq 0) {
      Write-Host 'Installation successful!'
    }
    else {
      Write-Error "Installation failed! Exited with $exitCode."
      throw
    }
  }
  catch {
    Write-Error "Failed to install Windows PSDK or DDK! $($_.Exception.Message)"
    throw
  }
}

# Windows 10 SDK, version 2004 (10.0.19041.0)
InstallWindowsDK 'https://go.microsoft.com/fwlink/?linkid=2120843'

# Windows 10 WDK,  version 2004
InstallWindowsDK 'https://go.microsoft.com/fwlink/?linkid=2128854'