microsoft / winget-pkgs

The Microsoft community Windows Package Manager manifest repository
MIT License
8.69k stars 4.53k forks source link

[Package Issue]: VideoLAN.VLC #172029

Open pjhavariotis opened 2 months ago

pjhavariotis commented 2 months ago

Please confirm these before moving forward

Category of the issue

Different install technology.

Brief description of your issue

I'm trying to upgrade from 3.0.20.0 -> 3.0.21 and I'm getting the following error: A newer version was found, but the install technology is different from the current version installed. Please uninstall the package and install the newer version. I tried also the --force with no luck!

Steps to reproduce

winget upgrade --id VideoLAN.VLC

Actual behavior

PS C:\Users\p.chavariotis> winget upgrade --id VideoLAN.VLC --force
A newer version was found, but the install technology is different from the current version installed. Please uninstall the package and install the newer version.

Expected behavior

Download and upgrade the package

Environment

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

Windows: Windows.Desktop v10.0.19045.4780
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.23.1911.0

Screenshots and Logs

No response

pjhavariotis commented 2 months ago

I checked the generated logs and I realised the following message: 2024-09-06 09:19:21.911 [CLI ] Installer [X64,nullsoft,Machine,] not applicable: Installed package type 'msi' is not compatible with installer type nullsoft, or with accepted type(s) nullsoft

stephengillie commented 2 months ago

Hi @pjhavariotis,

This error is not uncommon when software was installed manually, then updated with our package manager. It's not recommended to install with one installer technology and then upgrade with another, for several reasons. And unfortunately, not every package has every installer described.

The usual solution is to uninstall the application manually, and then reinstall with the package manager. There is an Issue (having trouble finding it now) to have the package manager perform this, but other work might have priority over it.

R-Adrian commented 2 months ago

the MSI installer for VLC 3.0.21 is missing because they still have some regressions building the MSI... https://code.videolan.org/videolan/vlc/-/issues/28677

they have not waited for the MSI and released v.3.0.21 as EXE-only installer because in addition to the usual sort of changes it also has fixes for a security issue with older versions (heap overflow, potential arbitrary code execution) and issued a security bulletin for it: https://www.videolan.org/security/sb-vlc3021.html

P.S. since there is a security bulletin published for arbitrary code execution, maybe WinGet should remove older versions of VLC from the manifests?