microsoft / winget-pkgs

The Microsoft community Windows Package Manager manifest repository
MIT License
8.76k stars 4.57k forks source link

[Package Issue]: VideoLAN.VLC #109572

Open kotenok2000 opened 1 year ago

kotenok2000 commented 1 year ago

Please confirm these before moving forward

Category of the issue

Installation issue.

Brief description of your issue

When i upgraded VLC to 3.0.18 winget still offers upgrade.

Steps to reproduce

Install VLC

Actual behavior

VLC media player VideoLAN.VLC > 3.0.17.4 3.0.18 winget

Expected behavior

Winget detects version correctly.

Environment

Диспетчер пакетов Windows версии 1.4.11071
(с) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

Windows: Windows.Desktop v10.0.22621.1702
Архитектура системы: X64
Пакет: Microsoft.DesktopAppInstaller v1.19.11071.0

Журналы: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir

Параметры пользователя: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json

Ссылки
--------------------------------------------------------------------------------------
Заявление о конфиденциальности https://aka.ms/winget-privacy
Лицензионное соглашение        https://aka.ms/winget-license
Уведомления третьих сторон     https://aka.ms/winget-3rdPartyNotice
Домашняя страница              https://aka.ms/winget
Условия Windows Store          https://www.microsoft.com/en-us/storedocs/terms-of-sale

Screenshots and Logs

No response

NJT145 commented 1 year ago

It seems that winget doesn't read its version number properly. it actually shows "3.0.18" as version number. image I already used winget to update it and I have this same issue.

src-V commented 1 year ago

This pull : https://github.com/microsoft/winget-pkgs/pull/109546 seems to have triggered this.

kriswilk commented 1 year ago

This pull : #109546 seems to have triggered this.

Hey folks, this was my PR. The question is why WinGet is reporting the version as > 3.0.17.4 rather than 3.0.18 as reported by Add/Remove Programs.

I suspect that this is due to the previous version (3.0.17.4) being bugged by the vendor and not reporting the correct versions for all installer variants. This led to a workaround for the WinGet manifest specifying different versions for each file.

My updated manifest for 3.0.18 cleaned this up but WinGet may need that specificity maintained once it was added.

If someone who knows for sure can confirm, I'll get this updated accordingly.

mdanish-kh commented 1 year ago

[Policy] Area-Matching

The problem appeared due to a matching issue in WinGet CLI:

Basically, the advice is that if the previous manifest(s) contains AppsAndFeaturesEntries: DisplayVersion as was the case with the older manifest of VLC:

https://github.com/microsoft/winget-pkgs/blob/38f0bfbbbd7958f77aaa1526cb768d665dab3e1c/manifests/v/VideoLAN/VLC/3.0.17.4/VideoLAN.VLC.installer.yaml#L59-L62

Then all manifests should contain DisplayVersion key (including prev and any future ones) or none of them should to avoid seeing the > symbol and the infinite upgrade loop scenario.

kriswilk commented 1 year ago

OK, so exactly what I thought it might be. Thank you for the explanation and the swift PR to fix this!

I will be mindful of this in the future. Definitely an annoying issue since it doesn't become visible until the manifest is actually merged into the source.

src-V commented 1 year ago

Can confirm it's working again. Thanks Kris & Muhammad for the quick fix.

Jorilx commented 1 month ago

I'm seeing this issue again with version 3.0.21, WinGet is reporting it as > 3.0.20, is this happening to anyone else?

Jorilx commented 3 weeks ago

The "DisplayVersion: 3.0.21.0" is missing from VideoLAN.VLC.installer.yaml, maybe this is the problem?

Jorilx commented 3 weeks ago

Maybe related issue