Squirrel / Squirrel.Windows

An installation and update framework for Windows desktop apps
MIT License
7.23k stars 1.02k forks source link

GitHub Desktop Installer Conflicting with MS Teams installer #1880

Closed KovacNZ closed 2 months ago

KovacNZ commented 2 months ago

I'm deploying GitHub Desktop to computers for the first time using the MSI installer and i'm finding that when users log into the computer with the software it tries to run the GitHubDesktopDeploymentTool.exe however they get an error message saying to check the squirrel install log files.

The application partially installs Folders are created in AppData Local and Roaming

Has anyone had experience deploying these two applications and knows the best way around this?

anaisbetts commented 2 months ago

Can you paste in the relevant lines from the log files?

KovacNZ commented 2 months ago

I started from scratch on a test computer which started with neither Teams nor Github Desktop so that I could get a fresh log file. I then installed both using their MSI installers.

On this occasion Git installed on login but oddly the error message I received says that the Git Hub Desktop deployment failed.

image

But MS Teams did not load I logged off the system and logged back in and then Teams successfully loaded

Here is the setup log from when I logged in the first time SquirrelSetup.log

And here is the log from logging in the second time and Teams installed SquirrelSetup 2.log

anaisbetts commented 2 months ago

These errors all come from Teams private fork of Squirrel, I don't know what we can possibly do about this. Sorry :( You probably need to talk to GitHub Desktop folx about this

caesay commented 2 months ago

There are several race conditions in Squirrel, which means applications installing or even updating in parallel can write over each other's files. This issue could be addressed here, which would then gradually "solve" the issue for everyone, including Teams, as more people adopt the fix.

anaisbetts commented 2 months ago

There are several race conditions in Squirrel

This is true, particularly with the machine-wide installation since it's literally basically set-up to hit the race.

including Teams

Unfortunately, Teams forked the Squirrel codebase a long time ago and afaik don't keep up with anything even close to what the codebase is today, it's frustrating that they basically silently did their own thing; Discord did something similar as well (though their changes aren't completely broken unlike Teams)