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.28k stars 1.45k forks source link

"A newer version was found, but the install technology is different from the current version installed" #2826

Open Jaifroid opened 1 year ago

Jaifroid commented 1 year ago

Brief description of your issue

Two DIFFERENT apps within the same app family are misrecognized as different installer versions of the same app. For example, I maintain these two apps on WinGet: Kiwix.WikiMed, and Kiwix.WikiMed.Electron. The former is an msix/appx UWP app, and the latter is a traditional Win32 Electron app (exe). When the latter is installed, winget gives 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 (see screenshot for more details). Only once I uninstall the .exe version is it possible to install the appx version (in the screenshot, I uninstalled the .exe version before running the command again successfully).

image

Steps to reproduce

Install an executable version of the app, then attempt to install the UWP version. Note, I experienced this with the WikiMed app, but NOT with the smaller sister app Kiwix.KiwixJS. Go figure.

Expected behavior

It is useful that winget recognizes that two apps belong to the same family, but it should give me instructions to use the --force switch if I want both apps. There are actual differences of capability between these apps.

Actual behavior

Winget prevents installation of both apps and doesn't inform me of any workaround.

Environment

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

Windows: Windows.Desktop v10.0.22621.963
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.19.3132.0
Jaifroid commented 1 year ago

Just to add, if it's not clear above, that I think the solution is simple: in this situation, inform the user of the --force option if they want both apps installed.