winget-cli
winget-cli copied to clipboard
Support special behavior for upgrading Squirrel applications
Description of the new feature / enhancement
While investigating #1747 I found out that the Squirrel installer has a special way to do upgrades. Namely, it uses a Update.exe file inside the application's install directory (usually User\AppData\Local\$AppName) with some different arguments to execute it (silent upgrade appears to be supported). WinGet should support running this executable with the correct options to upgrade in lieu of running the installer over again, which can in certain cases (again, #1747) cause unexpected behavior.
It's worth noting that Teams is one of the applications that uses the Squirrel installer[^1], so this may be part of the answer to that problem.
[^1]: If you want to know where the madness with the machine wide installer came from, check it out here
Proposed technical implementation details
A new InstallerType (squirrel) that has defaults for silent install arguments (/s) and for upgrading using the Update.exe file instead of the installer. (This will require winget having some way of figuring out the install directory for the app. Squirrel applications seem to be good about setting the InstallLocation key in the ARP Table, and the Update.exe file is in that directory).
Related to:
- #372
- #418
As of today, the issue for the Fork software is still unresolved.
Every time I got an update, the info is lost.
Another half year, and as of today, the issue for the Fork software is still unresolved.
Every time I got an update, the info is lost.
@denelon Is there anyone working on this issue?
@xarthurx no, this is a fairly large feature. We have to fundamentally change the way we're calling installers to watch an entire process tree.
Related to:
- #372
- #418