-
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
Support special behavior for upgrading Squirrel applications #1748
Comments
As of today, the issue for the |
Another half year, and as of today, the issue for the |
@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: |
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 installer1, so this may be part of the answer to that problem.
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 theInstallLocation
key in the ARP Table, and the Update.exe file is in that directory).Footnotes
If you want to know where the madness with the machine wide installer came from, check it out here ↩
The text was updated successfully, but these errors were encountered: