microsoft / microsoft/winget-cli

Winget '--scope machine' Installation: Start Menu Entries Missing for Other Users

Open
#3,323 2 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue-Feature
Dominant language
C++
Stars
26.4k
Forks
1.8k
Avg merge
1d 11h
Merged PRs (30d)
15

Description

Brief description of your issue

I'm accustom to using Ninite, but am trying to use winget to perform the same tasks. The problem with winget, versus ninite, is that ninite does a better job of making applications available to all users (especially non-tech users). While the --scope machine argument often installs in a manner where all users "could" use the installed program, the program's launcher doesn't make it into each user's start menu, like it definitely does with ninite.

Steps to reproduce

Take a snapshot of a freshly installed Windows 10 virtual machine, so that you can undo all testing after we're done.

Log into a workstation as administrator, install several programs using the --scope machine argument:

winget install 7zip --scope machine --source winget
winget install dia --scope machine
winget install flameshot --scope=machine -e
winget install Foxit --scope machine
winget install gimp --scope machine --source winget
winget install inkscape --scope machine --source winget
winget install LibreOffice --scope machine
winget install Notepad++ --scope machine
winget install Pidgin --scope machine
winget install Thunderbird --scope machine
winget install vlc --scope machine --source winget
winget install windirstat --scope machine

Now log into the workstation as a different user. Many of those programs will not be in the start menu's application list.

Expected behavior

Now, apply your snapshot to the virtual machine, so that all is like it was before we did the winget installations.

The expected behavior can be seen by placing a check box beside those same applications on this page:
https://ninite.com/

Then, in step 2, (under "2. Download and run your custom installer/updater'), click the "Get Your Ninite" button. Run the file while being logged into a workstation as an administrator.

It will install all these same programs in a matter where all users (who log into this workstation) can access them from their start menus.

Actual behavior

The actual behavior is that some applications are installed in a manner where, when another user logs in, they have navigate the file system to launch the files instead of being able to discover them from the start menu like ninite achieves.

Environment
Windows Package Manager v1.4.11071
Windows: Windows.Desktop v10.0.19045.2965
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.19.11071.0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the listed winget install ... --scope machine commands on Windows 10, then sign in as a different user and compare the Start menu entries. Trace the winget install handling for machine scope and determine why application launchers are not available to other users; done means machine-scoped installations expose their launchers in each user's Start menu.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.