-
Notifications
You must be signed in to change notification settings - Fork 0
/
CInstaller.ps1
68 lines (62 loc) · 2.75 KB
/
CInstaller.ps1
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
$apps = @(
@{id = "7zip.7zip"; name="7zip"},
@{id = "AnyDeskSoftwareGmbH.AnyDesk"; name="AnyDesk"},
@{id = "Oracle.JavaRuntimeEnvironment"; name="Java JRE"},
@{id = "Python.Python.3"; name="Python 3"; version = "3.9.7150.0"},
@{id = "Discord.Discord"; name="Discord"},
@{id = "File-New-Project.EarTrumpet"; name="EarTrumpet"},
@{id = "Google.Chrome"; name="Chrome"},
@{id = "Logitech.GHUB"; name="GHub"},
@{id = "Microsoft.VisualStudioCode"; name="VisualCode"},
@{id = "Notepad++.Notepad++"; name="Notepad++"},
@{id = "Git.Git"; name="Git"},
@{id = "Nvidia.GeForceExperience"; name="GForceExperience"},
@{id = "Streamlabs.StreamlabsOBS"; name="OBS"},
@{id = "Opera.OperaGX"; name="OperaGX"},
@{id = "Microsoft.PowerToys"; name="PowerToys"},
@{id = "Microsoft.WindowsTerminal"; name="WindowsTerminal"},
@{id = "PuTTY.PuTTY"; name="Putty"},
@{id = "qBittorrent.qBittorrent"; name="qBittorrent"},
@{id = "VideoLAN.VLC"; name="VLC"},
@{id = "RealVNC.VNCViewer"; name="VNCViewer"},
@{id = "Zotero.Zotero"; name="Zotero"},
@{id = "CPUID.CPU-Z"; name="CPU-Z"},
@{id = "JetBrains.IntelliJIDEA.Community"; name="IntelliJ"},
@{id = "JetBrains.PyCharm.Community"; name="PyCharm"},
@{id = "hiyohiyo.CrystalDiskInfo"; name="CrystalDiskInfo"},
@{id = "GitHub.GitHubDesktop"; name="GithubDesktop"},
@{id = "Insecure.Nmap"; name="NMap"},
@{id = "Rufus.Rufus"; name="Rufus"},
@{id = "Intel.IntelDriverAndSupportAssistant"; name="IntelDriverAndSupportAssistant"}
)
foreach ($app in $apps)
{
$listApp = winget list --exact --id $app.id
if (![String]::Join("", $listApp).Contains($app.id)) {
Write-host "Installing:" $app.name
if ($app.location -ne $null) {
#NOT WORKING
if($app.version -ne $null){
Write-host "Installing in custom path: " $app.location
Write-host "Installing specific version: " $app.version
winget install --exact --id $app.id --version $app.version --silent --location $app.location
}else{
Write-host "Installing in custom path: " $app.location
winget install --exact --id $app.id --silent --location $app.location
}
}
else {
if($app.version -ne $null){
Write-host "Installing specific version: " $app.version
winget install --exact --id $app.id --version $app.version --silent
}
else{
winget install --exact --id $app.id --silent
}
}
}
else {
Write-host "Skipping Install of " $app.name
}
}