# check if winget is installed and if so, set a flag to true $winget = Get-Command winget -ErrorAction SilentlyContinue if (!$winget) { Write-Host "Error: winget is not installed." -Foreground Red Write-Host "This script probably will not work without winget." -Foreground Red Write-Host "Run 'Add-AppxPackage -RegisterByFamilyName -MainPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe' in to install winget." -Foreground Red Write-Host "If you do install winget, this script should handle the rest." -Foreground Red } # Check that python is installed if (-not (Get-Command "python" -ErrorAction SilentlyContinue)) { Write-Host "Error: python is not installed." -Foreground Red if ($winget) { Write-Host "Attempting to install python." winget install --id=Python.Python.3.11 -e } else { Write-Host "Please install python to continue." -Foreground Red exit 1 } } # Check that java is installed if (-not (Get-Command "java" -ErrorAction SilentlyContinue)) { Write-Host "Error: java is not installed." -Foreground Red if ($winget) { Write-Host "Attempting to install java." winget install AdoptOpenJDK.OpenJDK.11 } else { Write-Host "Please install java to continue." -Foreground Red exit 1 } } # Check that git is installed if (-not (Get-Command "git" -ErrorAction SilentlyContinue)) { Write-Host "Error: git is not installed." -Foreground Red if ($winget) { Write-Host "Attempting to install git." winget install --id Git.Git -e --source winget } else { Write-Host "Please install git to continue." -Foreground Red exit 1 } } # Check that multimc is installed if (-not (Get-Command "multimc" -ErrorAction SilentlyContinue)) { Write-Host "Error: multimc is not installed." -Foreground Red Write-Host "Please install multimc to continue." -Foreground Red exit 1 } if (Test-Path ".venv") { } else { python -m venv .venv } . ./.venv/bin/Activate.ps1 (python -m pip install --upgrade pip) | Out-Null (python -m pip install -r requirements.txt) | Out-Null python client.py