Brief description of your issue
(follow-up to PowerShell/PowerShell#20452)
When winget needs to prompt for approval of the source license terms, it hangs when run under PowerShell 7.4.0-preview.6 running on Windows 11 10.0.22621.2361.amd64fre.ni_release.220506-1250 within Windows Terminal Preview 1.19.2309.25002.
This works fine under PowerShell 7.3.7.
PS> winget list smartm
The `msstore` source requires that you view the following agreements before using.
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
The source requires the current machine's 2-letter geographic region to be sent to the backend service to function properly (ex. "US").
Do you agree to all the source agreements terms?
[Y] Yes [N] No:
Entering 'Y' at this point does nothing: winget cannot read keyboard input.
Steps to reproduce
Run this Update-WinGetSources.ps1 PowerShell script:
#requires -RunAsAdministrator
winget source reset --force
$msix = Join-Path -Path $env:TEMP -ChildPath 'source.msix'
Invoke-WebRequest https://cdn.winget.microsoft.com/cache/source.msix -OutFile $msix
Add-AppXPackage -Path $msix
Remove-Item -Path $msix
winget source update
Then invoke winget list smartm.
At the prompt, type Y
Expected behavior
PS> winget list smartm
The `msstore` source requires that you view the following agreements before using.
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
The source requires the current machine's 2-letter geographic region to be sent to the backend service to function properly (ex. "US").
Do you agree to all the source agreements terms?
[Y] Yes [N] No: Y
Actual behavior
PS> winget list smartm
The `msstore` source requires that you view the following agreements before using.
Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction
The source requires the current machine's 2-letter geographic region to be sent to the backend service to function properly (ex. "US").
Do you agree to all the source agreements terms?
[Y] Yes [N] No:
Keyboard input is ignored. The winget.exe process needs to be killed.
Environment
Windows Package Manager v1.6.2771
Copyright (c) Microsoft Corporation. All rights reserved.
Windows: Windows.Desktop v10.0.22621.2361
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.21.2771.0
Winget Directories
-----------------------------------------------------------------------------------------------------------------------
Logs %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Diag…
User Settings %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\sett…
Portable Links Directory (User) %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User) %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root C:\Program Files\WinGet\Packages
Portable Package Root (x86) C:\Program Files (x86)\WinGet\Packages
Installer Downloads %USERPROFILE%\Downloads
Links
---------------------------------------------------------------------------
Privacy Statement https://aka.ms/winget-privacy
License Agreement https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale
Admin Setting State
--------------------------------------------------
LocalManifestFiles Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride Disabled
LocalArchiveMalwareScanOverride Disabled
Brief description of your issue
(follow-up to PowerShell/PowerShell#20452)
When
wingetneeds to prompt for approval of the source license terms, it hangs when run under PowerShell 7.4.0-preview.6 running on Windows 11 10.0.22621.2361.amd64fre.ni_release.220506-1250 within Windows Terminal Preview 1.19.2309.25002.This works fine under PowerShell 7.3.7.
Entering 'Y' at this point does nothing:
wingetcannot read keyboard input.Steps to reproduce
Run this
Update-WinGetSources.ps1PowerShell script:Then invoke
winget list smartm.At the prompt, type
YExpected behavior
Actual behavior
Keyboard input is ignored. The
winget.exeprocess needs to be killed.Environment