|
<# |
|
HOW TO USE |
|
- Download this file |
|
- Modify the `Install` and `Download` arrays below as required |
|
- Find other packages here: https://winget.run |
|
- Run `winget list` before formatting to help make your own array from scratch |
|
- For anything you can't install via winget, get a download link, and add it to the download array |
|
- Right click, then select 'Run with PowerShell' |
|
|
|
WHAT WILL HAPPEN |
|
- A powershell terminal will open and start running this script |
|
- The native windows app `winget` will install all the apps in the `Install` array |
|
- As apps are being installed, you may recieve various prompts to help complete the install |
|
- All links listed in the `Download` array will be downloaded to your desktop |
|
#> |
|
|
|
# Define arrays in readable, alphabetical fashion. |
|
$Install = @( |
|
'7zip.7zip' |
|
'AgileBits.1Password' |
|
'BraveSoftware.BraveBrowser' |
|
'Discord.Discord' |
|
'Elgato.StreamDeck' |
|
'EpicGames.EpicGamesLauncher' |
|
'GOG.Galaxy' |
|
'Logitech.GHUB' |
|
'Logseq.Logseq' |
|
'Melodics.Melodics' |
|
'Microsoft.VisualStudioCode' |
|
'Nvidia.GeForceExperience' |
|
'OBSProject.OBSStudio' |
|
'Plex.PlexMediaPlayer' |
|
'PointPlanck.FileBot' |
|
'PrivateInternetAccess.PrivateInternetAccess' |
|
'qBittorrent.qBittorrent' |
|
'Resplendence.WhoCrashed' |
|
'ScummVM.ScummVM' |
|
'SlackTechnologies.Slack' |
|
'Spotify.Spotify' |
|
'StepMania.StepMania' |
|
'tailscale.tailscale' |
|
'Valve.Steam' |
|
'VideoLAN.VLC' |
|
'Voicemod.Voicemod' |
|
) |
|
|
|
$Download = @( |
|
[pscustomobject]@{File='driver-bluetooth.zip'; Link='https://dlcdnets.asus.com/pub/ASUS/mb/02BT/DRV_Bluetooth_Intel_AX200_TP_W11_64_V2210002_20211222R.zip'} |
|
[pscustomobject]@{File='driver-chipset.zip'; Link='https://dlcdnets.asus.com/pub/ASUS/mb/03CHIPSET/DRV_Chipset_AMD_TP_TSD_W10_64_V31022706_20211101R.zip'} |
|
[pscustomobject]@{File='driver-dac.zip'; Link='https://www.smsl-audio.com/upload/portal/undefined/SMSLUSBAudioDriver.zip'} |
|
[pscustomobject]@{File='driver-ethernet.zip'; Link='https://dlcdnets.asus.com/pub/ASUS/mb/SocketAM4/ProArt_X570-CREATOR_WIFI/Intel_I225_Gigabit_Ethernet_Driver_V1.0.2.14_WIN11_64-bit.zip'} |
|
[pscustomobject]@{File='driver-wifi.zip'; Link='https://dlcdnets.asus.com/pub/ASUS/mb/08WIRELESS/DRV_WiFi_Intel_TP_W11_64_V228011_20211021R.zip'} |
|
[pscustomobject]@{File='app-battlenet.exe'; Link='https://www.battle.net/download/getInstallerForGame?os=win&gameProgram=BATTLENET_APP&version=Live'} |
|
[pscustomobject]@{File='app-creative.exe'; Link='https://files.creative.com/manualdn/Applications/100384/pedz6i0Pbi/CreativeAppSetup_1.9.03.00.exe'} |
|
[pscustomobject]@{File='app-flipper.exe'; Link='https://update.flipperzero.one/builds/qFlipper/1.1.0/qFlipperSetup-64bit-1.1.0.exe'} |
|
[pscustomobject]@{File='app-oculus.exe'; Link='https://www.oculus.com/download_app/?id=1582076955407037'} |
|
) |
|
|
|
# Show user what's about to happen, allow early exit. |
|
$ListSpacer = " -" |
|
"`nThe following apps will be installed via winget:" |
|
$Install.foreach( {"$ListSpacer $PSItem"} ) |
|
"`nThe following links will be downloaded to your desktop:" |
|
$Download | ForEach-Object {"$ListSpacer " + $_.Link} |
|
Read-Host -Prompt "`nPress Ctrl+C to abort, any other key to continue.`n`n" |
|
|
|
# Kick off the install loop. |
|
foreach ( $Item in $Install ) |
|
{ |
|
if ( winget list --exact --id $Item | Select-String -Pattern "No installed package found matching input criteria." ) |
|
{ |
|
Write-Output "`n`n====" |
|
"Installing: $Item" |
|
Write-Output "====`n" |
|
winget install --silent --exact --id $Item |
|
} |
|
else |
|
{ |
|
"Skipping: $Item (already installed)" |
|
} |
|
} |
|
|
|
# Kick off the download loop. |
|
foreach ( $Item in $Download ) |
|
{ |
|
$Path = "$env:USERPROFILE\Desktop\" + $Item.File |
|
if ( Test-Path -Path $Path -PathType Leaf ) |
|
{ |
|
"Skipping: " + $Item.Link + " (already downloaded)" |
|
} |
|
else |
|
{ |
|
"Downloading: " + $Item.Link |
|
Invoke-WebRequest $Item.Link -outfile $Path |
|
} |
|
} |
|
|
|
Write-Output "`nAll done!`n" |
|
Read-Host -Prompt "`nScroll back to check for errors, or press any key to exit`n`n" |