-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
cannot update apps installed with machine scope using winget in the system context #3921
Comments
Could the issue be that when running winget in system context, it cannot see the correct IDs for the installed programs? As shown in the attached capture, the installed software seems to have incorrect IDs in the system context.
It only fails to display the correct ID under the system and user contexts, it shows correctly for the admin user. |
@stephengillie Could you please point me in the right direction on how to investigate what might be causing this? |
Hi @bandizsolt, Unfortunately I'm not well-informed on the specific impacts of using the |
Hi, @stephengillie, thank you very much, I just need a little guidance on where to start so I know where to begin. It would be a bit much to sift through the entire source code to find a solution for this. |
I searched Issues for
The package manager software reads the Windows Registry (and other sources such as its installed.db?), and compares this to an XML of manifest data, to detect other installed software. These 2 outputs you mentioend do look like the application is reading the wrong line of data from somewhere such as the Edit: manifest file.
Edit continued:
|
If I understand correctly, then winget reads the installed programs from the Windows registry and compiles a list from that. Afterward, somehow it tries to search by name, and if it finds a match, it downloads the corresponding manifest file, from which it extracts information such as whether there is a new version and where to download it from. Please correct me if I'm misunderstanding. For example, when using the winget list command, does it retrieve all installed programs from the registry, search for them in the winget and msstore sources, download the manifest files, and list them? I tried to find this installed.db file and got 4 hits, but all of them are empty, with no values. So, it seems it only retrieves data from the Windows registry for installed applications and then creates a list.? For this Product code: {E84C60AF-70D3-4588-A8EE-A2FC1A2AB71B}, I found 9 hits in the Windows registry, and I'm attaching two of them as screenshots, where some data is visible. I've also figured out that these values are in the manifest files, but I still don't know how it works winget in the background with these. Thank you very much for your efforts! |
The Publish pipeline takes our repo's
|
Brief description of your issue
I installed ungoogled chromium using the following command:
or NAPS2 with:
Now, when I try to update using winget running in the system context, it doesn't recognize these applications, and as a result, it doesn't update them.
Now I don't know how to trace this back if it's an issue with the installation file, to understand what the problem might be.
Using this program (https://github.com/Romanitho/Winget-AutoUpdate), I've come to the point where winget doesn't recognize these software applications in the system context (in this issue are the details Romanitho/Winget-AutoUpdate#362). However, it's also possible that winget doesn't recognize them because something goes wrong during the installation.
Steps to reproduce
Install ungoogled chromium using the following command:
Alternatively, install NAPS2 with:
When attempting to update using winget in the system context, it fails to recognize these applications (tested with winget export), resulting in an inability to update them.
Expected behavior
The ability to update these applications in the system context.
Actual behavior
It cannot be updated with winget when using it in the system context.
Environment
The text was updated successfully, but these errors were encountered: