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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
-
+
-
+
-
+
+
+
-
+
-
-
-
+
+
+
-
+
+
-
+
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
+
|
#
# Run as post-install script for .exe package
$TEMP = $env:TEMP
$PYTHON = "C:\\Python27"
$PYTHON = "C:\Python27"
#-- what
$files = @(
"https://www.python.org/ftp/python/2.7.12/python-2.7.12.msi",
"http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.2.win32-py2.7.msi",
"$PYTHON\\Tools\\easy_install.exe requests",
"$PYTHON\Scripts\easy_install.exe requests",
"https://pypi.python.org/packages/3d/ee/affbc53073a951541b82a0ba2a70de266580c00f94dd768a60f125b04fca/lxml-2.3.win32-py2.7.exe",
"https://pypi.python.org/packages/62/71/8ac1f5c0251e51714d20e4b102710d5eee1683c916616129552b0a025ba5/pyquery-1.2.17-py2.py3-none-any.whl#noexec",
"$PYTHON\\Tools\\pip install $TEMP\\pyquery-1.2.17-py2.py3-none-any.whl",
"$PYTHON\Scripts\pip.exe install $TEMP\pyquery-1.2.17-py2.py3-none-any.whl",
"http://effbot.org/downloads/PIL-1.1.7.win32-py2.7.exe"
)
#-- ask before running
Write-Host ""
Write-Host "Do you want to install Python 2.7 and Gtk dependencies now?"
Write-Host ""
Write-Host " - This will install 32-bit versions of Python and Gtk."
Write-Host " - Leave the default install path of $PYTHON for this to work."
Write-Host " - This will install 32-bit versions of Python and Gtk."
Write-Host " - Packages will go into $TEMP"
Write-Host ""
#$y = Read-Host "y/n"
#if ($y -notmatch "y|Y|1") {
# exit;
$y = Read-Host "y/n"
if ($y -notmatch "y|Y|1") {
exit;
#}
}
Write-Host ""
Write-Host "Downloading packages..."
#-- process
ForEach ($url in $files) {
echo "`n[[[ $url ]]]" #`
chdir($TEMP);
if ($url -match "https?://.+") {
$file = [regex]::match($url, "/([^/]+)($|[?#])").Groups[1].Value;
$file = [regex]::match($url, "/([^/]+?)([\?\#]|$)").Groups[1].Value;
# download
$wget = New-Object System.Net.WebClient
$wget.DownloadFile($url, "$TEMP\\$file");
$wget.DownloadFile($url, "$TEMP\$file");
# run
if ($url -match ".+#noexec") {
Write-Host "(skipping)"
}
elseif ($url -match ".+.msi$") {
Start-Process -Wait msiexec -ArgumentList /i,"$TEMP\\$file"
Start-Process -Wait msiexec -ArgumentList /i,"$TEMP\$file"
}
elseif ($url -match ".+.exe$") {
Start-Process -Wait "$TEMP\\$file"
Start-Process -Wait "$TEMP\$file"
}
else {
& "$TEMP\\$file"
& "$TEMP\$file"
}
}
else {
# only run command
chdir($PYTHON)
& "$url"
Invoke-Expression "& $url"
}
}
#-- make ST2 .lnk
$WshShell = New-Object -comObject WScript.Shell
$WshShell = New-Object -ComObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$Home\Desktop\Streamtuner2.lnk")
$Shortcut.TargetPath = "C:\Python27\pythonw.exe c:\usr\bin\streamtuner2"
$Shortcut.TargetPath = "C:\Python27\pythonw.exe"
$Shortcut.Arguments = "c:\usr\bin\streamtuner2"
$Shortcut.Save()
|