Skip to content
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

Split Machine-Wide Installer from the actual program #14115

Closed
OfficialEsco opened this issue May 27, 2021 · 3 comments
Closed

Split Machine-Wide Installer from the actual program #14115

OfficialEsco opened this issue May 27, 2021 · 3 comments
Labels
Help-Wanted This is a good candidate work item from the community.
Milestone

Comments

@OfficialEsco
Copy link
Contributor

Programs that are not actually the program should be split into 2 different manifests.

The 2 programs that comes to mind at the moment is GitHub Desktop and Microsoft Teams

image

As seen in this case for example microsoft/winget-cli#976 (comment) the Machine-Wide Teams installer is outdated, but Microsoft Teams it self is not

In WinGet list they both also appear under Microsoft Teams and GitHub Desktop

Name                                        Id                                            Version
----------------------------------------------------------------------------------------------------------
Microsoft Teams                             Teams                                         1.4.00.11161
Microsoft Teams                             Microsoft.Teams                               1.4.0.11161
GitHub Desktop                              GitHubDesktop                                 2.8.1
GitHub Desktop                              GitHub.GitHubDesktop                          2.8.1.0

Therefore the best way to solve it would be to Split the PackageIdentifier to Microsoft.Teams.Client and Microsoft.Teams.MachineWide

This issue is mainly for @jedieaston and @ItzLevvie with their big guns 😁

@OfficialEsco OfficialEsco added the Help-Wanted This is a good candidate work item from the community. label May 27, 2021
@ghost ghost added the Needs: Triage label May 27, 2021
@jedieaston
Copy link
Contributor

I don't mind splitting it (if it would fix this case, which I'm not 100% sure of since it seems like somethings up with how winget list is seeing the two entries in the ARP table), but we really need a way of dealing with installers that add multiple ARP entries. Firefox adds something for their maintenance service, as does Dropbox if I recall correctly. Visual Studio, depending on workloads, can spew 50-100 entries in there!

Just spitballing, but maybe the next breaking change to the schema should make the ProductCode, PackageName (or AppName as was recommended in microsoft/winget-cli#982) and PackageVersion attributes arrays? My brain is too tired to think about how that would break stuff at the moment, but that seems like a solution to a ton of the matching issues we're experiencing.

@OfficialEsco
Copy link
Contributor Author

The reason Teams and Github came to mind is because i had those installed and they caused those problems until i uninstalled them 😋
I'm pretty sure the Firefox maintenance service is different in many ways from the Machine-Wide installers that is provided by the Teams and GitHub MSI file which i'm pretty sure is only active on bootup if the user don't have Teams/GitHub Installed.

@jedieaston
Copy link
Contributor

But they are the same in that they both add multiple ARP entries for one installer, which is a scenario that needs to be thought about for install/upgrade.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Help-Wanted This is a good candidate work item from the community.
Projects
None yet
Development

No branches or pull requests

3 participants