-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upgrade an installed App #120
Comments
If the command is executed without any parameters, it could update "everything" installed by winget. |
I would strongly suggest we stick to the verbs familiar from
One of the very confusing things about package managers are the different syntaxes they use. I don't
|
Yea, agreed. This is what Homebrew ( |
I think we can probably get away from the requirement to have a command to to 'refresh the repositories'. It feels like a little step backwards in time having to refresh apt, compared to yum. Surely the tool can work out if the repositories require updating automatically? If we need to operate in a cached/offline mode that shouldn't that extreme edge case require a parameter rather than be the default? As to which verb, update/upgrade? Why not allow the use of both? |
I agree with @khobbits that a "refresh the repos" commands is a backward step. I really hope that Another solution might be that |
Agree with @khobbits and @despotak and just wanted to pitch in that Homebrew automatically
This seems like the best solution to me. |
While it may not be the right option for Chocolatey does this with a separate |
glad to see I'm not the only one praying for the love of God keep the |
update / upgrade is there for a reason. Perhaps you just want to check how much is going to be upgraded - or check the package list for anything that looks risky and do it later? Would be a step backward to not be able to do this imo |
Does |
So how about all of these (with
I believe it's also important to be able to list all available updates without actually installing them, but that probably does not require a separate command and can simply be accomplished by a prompt before the actual update / upgrade. |
What's probably way more difficult than implementing the update command itself is the logic to automatically get the version of programs in order to determine if there is an update available. Many installers / executables do not maintain their embedded "File version" / "Product version", and there simply is no unified way how Windows programs announce their updates or check for updates themselves. Edit: Looks like I misunderstood how |
The manifest yaml file that a company has to provide includes the version number in it. This should be easy to find then. Better yet it seems that the way everything is structured that the manifest name itself is the version number under the application folder. https://github.com/microsoft/winget-pkgs/blob/master/manifests/Anki/Anki/2.1.26.yaml https://github.com/microsoft/winget-pkgs/tree/master/manifests/Adobe/Brackets |
which is why chocolatey added |
Shouldn't that just be another switch to "show what you are going to do"? For instance, apt-get has a switch "-s/--simulate/--just-print/--dry-run/--recon/--noact" that just reports what it's going to upgrade, but doesn't actually do it. |
And chocolatey has
but IMO that should be filed as another issue if ppl want it. I've never used the feature. |
I have to change my OS to the insider version to try this? I don't see what to do with this block of code that I downloaded from Github??? |
Except some savings in network traffic and server computing power, all the benefits you mentioned can be achieved without an offline cache, or at least without an explicit command to update offline cache. Assuming network data usage is not a problem, some benefits are actually burdens. For example: there is no need to update the package list on a schedule because local An update command that actually updates packages with a |
No
Please read Installing the client If you are talking about the |
I have read Installing the client, it doesn't give any directions. It says I have to get on the insider program, which means, as far as I know, I have to change my OS to the insider addition, which is a problem on a computer I am using every day. There is no executable in the downloaded get hub. When I try to use Windows Store, it says installed on this pc, but it gives no info on how to use it. I have tried rebooting my pc, and it the winget command still doesn't work in PowerShell or from the command prompt. Why can't I just download the app, and put the executable in the path statement and it works??? This is installing a different addition of my OS??? Follow these steps to download Insider Preview: That is to much!!!! |
@i255d just use the manual way: Download from release and double click to install. If this is to difficulty for you, pls don't install preview software on your machine! And now pls stop to ask off-topic questions. I have subscribed to this issue and getting emails for every new message. |
A few thoughts transferred from #263, because I think this should be part of the discussion and implementation of this feature: Sometimes there are breaking changes or bugs between new software versions, and it is required to stick to an older version. I think it should be possible to configure allowed version ranges for updates. For an example see semantic versioning in NuGet or npm. Some programs (like browsers) already have a build in update service. |
|
@YsHaNgM I think you may have uncovered a bug with upgrade related to PowerToys. I was able to see the same thing you reported. We're still working on mapping entries in the community repository against what is represented in "Add/Remove Programs". Microsoft.WindowsTerminal and Microsoft.WindowsTerminalPreview have both worked when I tested by explicitly installing a previous version and then running |
I think this need to have a higher priority to fix since store apps are easy to upgrade via store's auto update. To maintain non-store installed apps is the main point of using a package manager. But the essential feature is not working. |
But Windows Terminal (and Preview) are both available out of store. |
I did the test with the store disabled to make sure the scenario works with the default source. We are looking into what happened with PowerToys. #752 |
Hoping to not see Totally fine with |
The current behavior for upgrade supports |
Winget upgrade is not working for me |
@Trance-Paradox you will need to ensure the "upgrade" experimental feature is enabled. Check |
I have it enabled. |
#752 Upgrade doesn't work for several packages |
@denelon why not just winget upgrade *? Instead of --all? |
We haven't implemented "wild cards" like * or ? yet. When we tackle that we will likely have the changes cascade through all of the commands. |
winget upgrade doesn't seem work for many or any packages yet. My test was with VideoLAN.VLCNightly |
I've had it be spotty. On my last attempt it told me there were three updates...
But when I try to upgrade them, they have varying results and success. Arduino IDE:
AutoHotKey successfully installed the update yesterday. Though today it has the same results as the Arduino IDE. Sql Server SSMS:
So it does work sometimes (e.g. AutoHotKey yesterday), but it is not reliable yet. |
it can also cause issue or duplicates depending the installer but that's more of a natural reason |
I've used winget upgrade --all multiple times to try and upgrade PowerShell and Calibre, but they aren't actually upgrading despite the results shown below. It downloads the updated installer and runs it, but the installers then disappear and don't actually do the upgrade. Running the upgrade check again shows the same initial results. These packages were installed before the latest version. Do I need to install them again with the new version for the upgrade to work moving forward? I did see a comment above that someone needed to install an older version and then used upgrade. C:\Users\x>winget upgrade
|
@jrennemeyer we still have a couple of additional pieces of work to address upgrades. One of them is in the next release (checking all manifests for |
I know this is a year old, but I agree. I always have to run sudo apt update -y && sudo apt upgrade -y in Linux distros, and it feels redundant and backward for Winget to do this. I would love to join this discussion. I will look into what I can do to support and update this repo in my spare time and contribute to something Windows should have had long ago. I am very excited to see this new feature and have everyone at work using it now. I wish the update/upgrade feature worked adequately right now, though. I will see what I can do on my end to fix/update this issue. |
@Atmosphere9999 the default "Time To Live (TTL)" for the cache is five minutes. It is configurable in settings. As long as the machine has access to the PreIndexed source package, it should refresh on it's own when any command depending on the source is executed. Most of the challenges related to the update command are related to installers with different metadata in the manifest and the entries the installers add to Add / Remove Programs. We have several work items to improve matching the meta-data and the associated experience with |
As a user I want to be able to use winget to install the most current version of a currently installed program so I don't have to go find it.
Experimental Feature
winget upgrade
- displays installed packages with an available upgrade.winget upgrade -?
- displays help for the upgrade command.winget upgrade --all
- upgrades all packages with an available upgrade.winget upgrade <package>
- upgrades the specified package.Note: upgrade depends on list also being enabled.
winget features
- displays all experimental features and their statuswinget settings
- launches settings.json to configure settings like experimental featuresEdited: experimental status
The text was updated successfully, but these errors were encountered: