microsoft / winget-cli

WinGet is the Windows Package Manager. This project includes a CLI (Command Line Interface), PowerShell modules, and a COM (Component Object Model) API (Application Programming Interface).
https://learn.microsoft.com/windows/package-manager/
MIT License
23.23k stars 1.45k forks source link

Portable packages installed in user scope are removed from PATH after upgrading them #4044

Open soredake opened 10 months ago

soredake commented 10 months ago

Brief description of your issue

Portable packages installed in user scope are removed from PATH after upgrading them.

Steps to reproduce

1) winget install yt-dlp.yt-dlp -v 2023.11.16 → yt-dlp added to PATH 2) winget install gyan.ffmpeg -v 6.1 → ffmpeg added to PATH 3) winget upgrade yt-dlp.yt-dlp → yt-dlp removed from PATH 4) winget upgrade gyan.ffmpeg → ffmpeg removed from PATH

Expected behavior

Portable packages should not be removed from PATH after upgrading them.

Actual behavior

Portable packages are removed from PATH after upgrading them.

Environment

Windows Package Manager (Preview) v1.7.3481-preview
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22631.2861
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.22.3481.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                        Enabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
AzureArmageddon commented 10 months ago

Able to replicate. This pesky bug makes using certain CLI apps via WinGet quite impossible.

Here's my winget --info:

Windows Package Manager v1.6.3482
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.22621.2861
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.21.3482.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

The above says Windows 10 or something but I'm on Windows 11 so here's the OS version information:

Edition Windows 11 Home
Version 22H2
Installed on    ‎22/‎11/‎22
OS build    22621.2861
Experience  Windows Feature Experience Pack 1000.22681.1000.0
curioussabhi commented 9 months ago

I also have this issue. Had to remove and reinstall the package to get it added to PATH again (didn't want to mess with PATH manually).

akulbe commented 5 months ago

@josh-hemphill Is this only happen on upgrade? I'm having things not showing up on $PATH even on new install.

josh-hemphill commented 5 months ago

@josh-hemphill Is this only happen on upgrade? I'm having things not showing up on $PATH even on new install.

For me, yes, fresh installs do show up in path, if it's not, maybe it's package specific. For me I only noticed it with pnpm

Sammy-T commented 2 months ago

I'm also having this issue while trying to update pnpm. Is someone able to confirm whether this is a winget issue or a package issue?

auanasgheps commented 1 month ago

I have this issue as well. Anyone from the team?

auanasgheps commented 1 month ago

Hello, commenting again because I just encountered this issue, again. Updated gallery-dl and its path was removed. winget v1.8.1911. I can always replicate the issue.