Has anyone ever used the “winget” command in PSADT? Install or uninstall options.
1 Like
No - But I too would be interested in hearing others findings / experience as I’m sure we’d have a few use cases
About to embark on that journey myself. I’m sure there’s a better channel for mentioning this, but it would be great to see Winget based functions added as a feature of the toolkit.
1 Like
Yeah, I’ve started to look into it. I add these two variables to the declaration section in the beginning:
[String]$AppInstaller = 'Microsoft.OneDrive' ## Application ID found here: https://winget.run/
[String]$InstallArgs = '/silent' ## Any overrides to the installer need to be specified here!!
Installation section looks like this:
winget.exe install --exact --id $AppInstaller --override $InstallArgs --accept-source-agreements --silent
Uninstall section looks like this:
winget.exe uninstall --exact --id $AppInstaller --accept-source-agreements --silent
Then I use a simple detection script:
[String]$AppInstaller = 'Microsoft.OneDrive' ## Use the A specified in the Deploy-Application.ps1 script
# resolve winget_exe
$winget_exe = Resolve-Path "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_*__8wekyb3d8bbwe\winget.exe"
if ($winget_exe.count -gt 1) {
$winget_exe = $winget_exe[-1].Path
}
if (!$winget_exe) {
Write-Error "Winget not installed"
}
else {
$wingetPrg_Existing = & $winget_exe list --id $AppInstaller --exact --accept-source-agreements
if ($wingetPrg_Existing -like "*$AppInstaller*") {
Write-Host "Found it!"
}
}
Seems to work well. If you need to override the standard installation method, use the $InstallArgs variable I defined at the beginning.
Cheers,
phunkymunky
4 Likes