dotfiles/util/winget.psm1

25 lines
1015 B
PowerShell
Raw Normal View History

2024-11-24 20:14:10 +00:00
function InstallWinget
{
# Reference: https://learn.microsoft.com/en-us/windows/package-manager/winget/#install-winget-on-windows-sandbox
$progressPreference = 'silentlyContinue'
Write-Host "Installing WinGet PowerShell module from PSGallery..."
Install-PackageProvider -Name NuGet -Force | Out-Null
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null
Write-Host "Using Repair-WinGetPackageManager cmdlet to bootstrap WinGet..."
Repair-WinGetPackageManager
}
function WingetInstall
{
$install = Read-Host "Install/Update WinGet now? [Y/n]"
2024-11-24 20:14:10 +00:00
if ($install.ToLower() -ne 'n')
{
# Start admin process, import this script, run 'InstallPackages' function
Start-Process powershell.exe -Verb RunAs -Wait `
-ArgumentList "-ExecutionPolicy", "Bypass", `
2024-11-24 21:32:47 +00:00
"-C", "Import-Module ./util/winget.psm1; InstallWinget"
2024-11-24 20:14:10 +00:00
}
winget.exe install -s winget --accept-source-agreements (Get-Content ./util/winget.list)
}