So autosync is keeping track of the new ones as the software automatically upgrades. Guess what typically changes on every upgrade? Yes, the Product Guid. If the software is an MSI, the Product Guid is used for managing uninstalls. :choco-info: Software version tracking assists in uninstallations where Chocolatey's autouninstaller is invoked. The packaging was at 59.x following what people note as the version based on what Google Chrome tells them. This makes it very difficlt to update a package version correctly.įor example, for the longest time Google Chrome had a version number in the registry at 65.x when the version being displayed to users was at like 59.x. The version of software you think you are based on the software telling you and what that software reports as the version in the registry are different many times, unfortunately. There is not always a one to one line up between package version and software version. :choco-info: Why doesn't Chocolatey upgrade the package version? So you won't see anything visual that indicates the sync as the package version will remain the same. You could also upgrade the software directly outside of Chocolatey, which would similarly create a discrepancy between the software being on a newer version than the package shows.Ĭhocolatey's autosync understands that an upgrade occurred and tracks that for the software, but not the packaging. Chocolatey's autosync will track the software updates in the background and store those which will be helpful if you later remove the software from Programs and Features directly or want to run choco uninstall on the package to remove the software. When you have software like Google Chrome that automatically updates, it is recommended typically that you pin the package to let the software automatically upgrade. On the next run of Chocolatey, auto sync sees the software has been removed, so it removes the package tracking to that software in response to those system changes. ![]() In the image above, someone manually removed the 1Password software. Autosync is great for ensuring that Chocolatey matches the state of changes on the system for what the packages it is tracking. ![]() So if that software has been uninstalled from Programs and Features or upgraded outside of Chocolatey, autosync removes those packages to match that state or notes the upgrade (note it doesn't change the version of the package - that's much trickier to get correct).Īs commercial editions lean more towards software management, they have much better system integration. Licensed editions of Chocolatey are able to see system state and correct this discrepancy with autosync by updating the state of the package based on what has occurred outside of Chocolatey.įor software management, which encompasses package management and above that for Windows, the state of the software is really what should be reflected with those installed packages. With open source you end up with a disconnect if you are not careful. If it is removed without the command going through Chocolatey, open source Chocolatey will still have the package installed (which is technically correct from a package manager state, but incorrect based on expectations). Once that software is in Programs and Features, it could be manipulated outside of Chocolatey. Many packages are what we call "installer packages" - packages that manage an installer and an installation into Programs and Features. ![]() Chocolatey manages packages (nupkg files), and packages manage software. There is an important distinction between packages and software to understand with Chocolatey. There is also choco sync, which is different and is covered in Sync Command below. This behavior is known as automatic synchronization or autosync for short. In all licensed editions, Chocolatey syncs the state of already installed Chocolatey packages (nupkg files) to the state of the software they are linked up with - so if the software is uninstalled or upgraded outside of Chocolatey, it removes the package or notes the upgrade.
0 Comments
Leave a Reply. |