How do I automatically keep all locally installed Chocolatey packages up to date?
Update - Sept 2018
As well as choco-upgrade-all-at-startup to upgrade all packages on startup (mentioned above), there is also now a Chocolatey package, choco-upgrade-all-at, that can be used to check/upgrade all packages as often (for example, daily, weekly..) as you require, at a time that suits :-)
A downside of using the public repository of course is that you are dependent on other people to maintain the packages largely out of the goodness of their hearts, so you should probably still run something like SUMo once in a while to keep an eye on things if you are using this to keep your own machines up-to-date. Organisations are strongly encouraged to host and maintain their own repository rather than use the public one for this reason.
Another option is to use the choco-upgrade-all-at-startup package by issuing:
choco install choco-upgrade-all-at-startup -y
Once the installation is complete, a scheduled task has been created that upgrades all packages when the computer boots. Note: if one uses a laptop, please ensure that this is on AC power. Otherwise the scheduled task will not be run and the chocolatey packages will not be updated.
Note: this answer was relevant for some quite old version of Chocolatey (0.9.8 and older).
You should be aware that Chocolatey
in fact doesn't update already installed packages (neither cup all
or cup <package>
), but rather installs a newer version(s) beside older one(s). So you'll end up with a stack of previously installed versions of a package(s) on your system. And there is currently no way to uninstall the specific version of the package except the most recent one using Chocolatey
.
UPDATE: according to @ferventcoder's comment, Chocolatey of version 0.9.9+ does a real update now! This is huge improvement actually. Versions 0.9.8 and bellow do just an install as described earlier. See release notes for details about new C# client.
Try choco upgrade all -y
(or cup all -y
). One can create a scheduled task to run in the evenings that would do this.