-
-
Notifications
You must be signed in to change notification settings - Fork 84
/
wdk-download.sh
executable file
·49 lines (39 loc) · 1.46 KB
/
wdk-download.sh
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
#!/bin/bash
#
# Copyright (c) 2024 Sergey Kvachonok
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
set -eu
if [[ $# -lt 1 || "$1" == "-h" ]]; then
echo Usage:
echo " " $0 [--cache dir] url
echo
echo Prints the downloaded WDK installers location to stdout.
exit 0
fi
if [[ "$1" == "--cache" ]]; then
WDKSETUP_URL=$3
CACHE_DIR=$2
mkdir -p "$CACHE_DIR"
else
WDKSETUP_URL=$1
CACHE_DIR=$(mktemp -d -t msvc-wine-wdk.tmp.XXXX)
fi
WDKSETUP_EXE="${CACHE_DIR}/wdksetup.exe"
curl -s -L -o "$WDKSETUP_EXE" "$WDKSETUP_URL"
WINE=$(command -v wine64 || command -v wine || false)
export WINEDEBUG=${WINEDEBUG:-"-all"}
WIN_CACHE_DIR=$("$WINE" winepath -w "$CACHE_DIR")
"$WINE" "$WDKSETUP_EXE" /quiet /layout "$WIN_CACHE_DIR"
WDK_INSTALLERS="${CACHE_DIR}/Installers"
echo $WDK_INSTALLERS