Open ghost opened 2 years ago
If 3.x and 4.x are to be treated as different packages, they should likely be broken into two packages from a manifest perspective. This could also cause users to not be made aware version 4.x or newer is available if they have 3.x installed.
We need to look into mechanisms to show users when newer "side by side" versions are available.
We've been working on the side-by-side scenarios. You could try the latest release and enable the experimental feature on:
Please provide feedback at:
No change for me with this new preview version and sideBySide set to true.
Brief description of your issue
I have both XNA redist 3.1 and 4.0 installed (both as "refresh"). They are meant to be installed side-by-side, as 4.0 is not a simple upgrade of 3.1.
However, "winget upgrade" always shows the installed xnaredist to be upgraded to 4.0 (and will try to do so), and does not take into account that:
Steps to reproduce
Install XNAredist 3.1 refresh (from any source, winget or manually). Install XNAredist 4.0 refresh (from any source, winget or manually).
Run winget upgrade. It will (unsuccessfully) attempt to install xnaredeist 4.0 again and again to "upgrade" 3.1 to 4.0.
Expected behavior
Winget should know which versions are "upgrade paths", and which versions and meant for side-by-side installation, especially for Microsoft redistributables.
(Even better, for any generic software): winget should detect that the "available" version in in fact already installed on the machine, and suppress the output (or at least should not attempt to download and install an already installed version).
Actual behavior
Winget works "line by line" and sees that XNAredist 3.1 has a 4.0 available remote, and blindly tries to download and install.
Environment