UniGetUI icon indicating copy to clipboard operation
UniGetUI copied to clipboard

[BUG] Primarily? Duplicate installs. But also: failed updates, shortcut spam, lack of control of install location and options.

Open jamiethomaswhite opened this issue 1 month ago • 11 comments

Please confirm these before moving forward

  • [x] I have searched for my issue and have not found a work-in-progress/duplicate/resolved issue.
  • [x] I have tested that this issue has not been fixed in the latest (beta or stable) release.
  • [x] I have checked the FAQ section for solutions.
  • [x] This issue is about a bug (if it is not, please use the correct template).

UniGetUI Version

3.3.6

Windows version, edition, and architecture

Windows 11 IoT Enterprise LTSC 24H2

Describe your issue

I need to take a breath.

I am really trying not to give up on this software. The idea is wonderful, sublime even. But the reality is utterly miserable. I installed this on every machine which totals 5 machines so far. I learned my lesson on the 5th one but have yet to see if it results in a better experience.

I started out with a fresh install fairly recently (on all devices) and installed all my necessary software, which includes UniGetUI. That means that before UniGetUI is installed, those essentials are installed manually by me, not through UniGetUI (this is what I did differently on the 5th device). However, I still use UniGetUI to update all my apps.

This has caused absolute havoc.

Firstly, my exquisitely managed start menu and desktop have been trashed by shortcuts haphazardly strewn about. This is not really an issue exclusive to UniGetUI. Plus, I did find the setting to at least fix the desktop shortcuts, but PLEASE add one to disable shortcut creation anywhere at all whatsoever.

Secondly, I have two of every app updated installed because instead of uninstalling the old one, UniGetUI is keeping it and installing the new one as well as the old one. THEN, when you try to uninstall the old one specifically, it uninstalls EVERYTHING. As you'll see in the logs, it uninstalled winget entirely, when I told it to only uninstall the old one after it updated/installed the latest one, as well as. I am just profoundly glad I have everything synced/backed up, even settings, because it did completely nuke Obsidian. Which... that would be another conversation entirely. It is mission critical.

Thirdly, there's the failed updates (Parsec on every device failing drove me mad and it was only 8 times before I disabled it on every device). Is there not a list of apps that just do not like to be fettled with? And if the app has a perfectly functional, and even excellent, internal update mechanism (Parsec, Process Lasso, VSCodium etc), why bother updating them? I feel like there's a missing layer of intelligence and allow/block listing that should be occurring without user interaction.

Lastly, UniGetUI does not respect install locations. If I installed something manually (because I didn't want to be forced into the publisher's choices of my exe being 3 folders deep, named incomprehensible things and sometimes in Program Files, sometimes in AppData just to spice it up), UniGetUI should check that and install to the same location. Instead, it installs things again but in the default locations.

I really like the idea, and I REALLY want this to work, but I am this close [] to obliterating UniGetUI from all my devices. Please, give me a reason not to. Because even one or two apps, like HWInfo64, that popup and force me to go to a website download, quit, and install again to update, make this program worth it.

Steps to reproduce the issue

Well, install stuff. Then update stuff. Then check. I've had so many issues on multiple very different devices that you cannot all be missing all of them.

UniGetUI Log

[12/11/25 11:37:01]    __  __      _ ______     __  __  ______
                      / / / /___  (_) ____/__  / /_/ / / /  _/
                     / / / / __ \/ / / __/ _ \/ __/ / / // /
                    / /_/ / / / / / /_/ /  __/ /_/ /_/ // /
                    \____/_/ /_/_/\____/\___/\__/\____/___/
                        Welcome to UniGetUI Version 3.3.6
[12/11/25 11:37:01]
[12/11/25 11:37:01] Build 104
[12/11/25 11:37:01] Data directory C:\Users\J\AppData\Local\UniGetUI
[12/11/25 11:37:01] Encoding Code Page set to 850
[12/11/25 11:37:04] Loaded language locale: en
[12/11/25 11:37:05] Could not retrieve token (it may not exist): Element not found.
                    
                    Cannot get credential from Vault
[12/11/25 11:37:06] Lang files were updated successfully from GitHub
[12/11/25 11:37:06] Restored geometry was outside of desktop bounds
[12/11/25 11:37:06] Randomly-generated background API auth token: phqo4qpujtio7rwids9b4vds3rfuvhf5pqu2lzfm5m2n9wo1vyqwcrwuwvv5bnsi
[12/11/25 11:37:06] Call to WhichMultiple with file vcpkg.exe returned non-zero status 1
[12/11/25 11:37:06] Command vcpkg.exe was not found on the system
[12/11/25 11:37:06] Call to WhichMultiple with file choco.exe returned non-zero status 1
[12/11/25 11:37:06] Command choco.exe was not found on the system
[12/11/25 11:37:06] Chocolatey is enabled and was found on C:\Users\J\AppData\Local\UniGetUI\Chocolatey\choco.exe
[12/11/25 11:37:06] Call to WhichMultiple with file npm.ps1 returned non-zero status 1
[12/11/25 11:37:06] Command npm.ps1 was not found on the system
[12/11/25 11:37:06] Npm is enabled but was not found on the system!
[12/11/25 11:37:06] Call to WhichMultiple with file cargo.exe returned non-zero status 1
[12/11/25 11:37:06] Command cargo.exe was not found on the system
[12/11/25 11:37:06] Cargo is enabled but was not found on the system!
[12/11/25 11:37:06] Pip is enabled and was found on C:\Users\J\AppData\Local\Microsoft\WindowsApps\python.exe
[12/11/25 11:37:06] Scoop is enabled and was found on C:\Program Files\PowerShell\7\pwsh.exe
[12/11/25 11:37:06] Call to WhichMultiple with file vcpkg returned non-zero status 1
[12/11/25 11:37:06] Command vcpkg was not found on the system
[12/11/25 11:37:07] An error occurred while initialising package manager Chocolatey
[12/11/25 11:37:07] PowerShell7 is enabled and was found on C:\Program Files\PowerShell\7\pwsh.exe
[12/11/25 11:37:07] PowerShell is enabled and was found on c:\Windows\System32\windowspowershell\v1.0\powershell.exe
[12/11/25 11:37:07] .NET Tool is enabled but was not found on the system!
[12/11/25 11:37:07] An error occurred while initialising package manager Pip
[12/11/25 11:37:07] Call to WhichMultiple with file vcpkg returned non-zero status 1
[12/11/25 11:37:07] Command vcpkg was not found on the system
[12/11/25 11:37:07] Vcpkg root was not found. Please define the %VCPKG_ROOT% environment variable or define it from UniGetUI Settings
[12/11/25 11:37:07] vcpkg is enabled but was not found on the system!
[12/11/25 11:37:07] Winget is enabled and was found on C:\Users\J\AppData\Local\Microsoft\WindowsApps\winget.exe
[12/11/25 11:37:07] System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'C:\Users\J\AppData\Local\UniGetUI\Chocolatey\choco.exe' with working directory 'C:\Program Files\UniGetUI'. The system cannot find the file specified.
                       at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo)
                       at UniGetUI.PackageEngine.Managers.ChocolateyManager.Chocolatey._loadManagerVersion(String& version) in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.Chocolatey\Chocolatey.cs:line 317
                       at UniGetUI.PackageEngine.ManagerClasses.Manager.PackageManager.Initialize() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.PackageManagerClasses\Manager\PackageManager.cs:line 82
[12/11/25 11:37:07] System.Exception: Microsoft Store python alias is not a valid python install
                       at UniGetUI.PackageEngine.Managers.PipManager.Pip._loadManagerVersion(String& version) in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.Pip\Pip.cs:line 379
                       at UniGetUI.PackageEngine.ManagerClasses.Manager.PackageManager.Initialize() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.PackageManagerClasses\Manager\PackageManager.cs:line 82
[12/11/25 11:37:07] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                    █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                    █ Name: WinGet (aka Winget)
                    █ Executable name: "winget.exe"
                    █ Executable path: "C:\Users\J\AppData\Local\Microsoft\WindowsApps\winget.exe"
                    █ Call arguments: ""
                    █ Version: System WinGet (CLI) Version: v1.12.350
                    █          Using Native WinGet helper (COM Api)
                    █          
                    █ WinGet is enabled and ready to go.
                    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[12/11/25 11:37:08] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                    █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                    █ Name: PowerShell 5.x (aka PowerShell)
                    █ Executable name: "powershell.exe"
                    █ Executable path: "c:\Windows\System32\windowspowershell\v1.0\powershell.exe"
                    █ Call arguments: " -NoProfile -Command"
                    █ Version: Name                           Value                                                                                   
                    █          ----                           -----                                                                                   
                    █          PSVersion                      5.1.26100.6899                                                                          
                    █          PSEdition                      Desktop                                                                                 
                    █          PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                 
                    █          BuildVersion                   10.0.26100.6899                                                                         
                    █          CLRVersion                     4.0.30319.42000                                                                         
                    █          WSManStackVersion              3.0                                                                                     
                    █          PSRemotingProtocolVersion      2.3                                                                                     
                    █          SerializationVersion           1.1.0.1
                    █          
                    █ PowerShell 5.x is enabled and ready to go.
                    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[12/11/25 11:37:10] Api running on http://localhost:7058
[12/11/25 11:37:11] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                    █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                    █ Name: PowerShell 7.x (aka PowerShell7)
                    █ Executable name: "pwsh.exe"
                    █ Executable path: "C:\Program Files\PowerShell\7\pwsh.exe"
                    █ Call arguments: " -NoProfile -Command"
                    █ Version: PowerShell 7.5.4
                    █          
                    █ PowerShell 7.x is enabled and ready to go.
                    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[12/11/25 11:37:16] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                    █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                    █ Name: Scoop (aka Scoop)
                    █ Executable name: "scoop"
                    █ Executable path: "C:\Program Files\PowerShell\7\pwsh.exe"
                    █ Call arguments: "-NoProfile -ExecutionPolicy Bypass -Command "C:\Users\J\scoop\shims\scoop.ps1" "
                    █ Version: Current Scoop version:
                    █          b588a06e chore(release): Bump to version 0.5.3 (resync) (#6436)
                    █          
                    █          'main' bucket:
                    █          dfb996fd0 trid: Update to version 2.45-25.11.11
                    █          
                    █ Scoop is enabled and ready to go.
                    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[12/11/25 11:37:30] LoadComponentsAsync finished executing. All managers loaded. Proceeding to interface.
[12/11/25 11:37:31] Dependency Scoop-Search for manager Scoop is present
[12/11/25 11:37:32] Dependency Git for manager Scoop is present
[12/11/25 11:37:32] Downloaded new icons and screenshots successfully!
[12/11/25 11:37:34] Found 3 installed packages from Scoop
[12/11/25 11:37:37] Found 1 installed packages from PowerShell
[12/11/25 11:37:37] Found 1 installed packages from PowerShell
[12/11/25 11:37:38] Found 0 available updates from PowerShell
[12/11/25 11:37:41] Found 106 installed packages from Winget
[12/11/25 11:37:41] Found 3 available updates from Winget
[12/11/25 11:37:44] Unknown mimetype image/jpeg for icon https://tweakers.net/ext/i/2004859552.jpeg, aborting download
[12/11/25 11:37:45] Found 0 installed packages from PowerShell7
[12/11/25 11:37:45] Found 0 installed packages from PowerShell7
[12/11/25 11:37:45] Found 0 available updates from PowerShell7
[12/11/25 11:37:47] Found 3 installed packages from Scoop
[12/11/25 11:37:49] Found 0 available updates from Scoop
[12/11/25 11:37:49] Loaded operation parameters for package id=Microsoft.DotNet.DesktopRuntime.8 on manager Winget and operation Update: update --id "Microsoft.DotNet.DesktopRuntime.8" --exact --source winget --accept-source-agreements --disable-interactivity --silent --include-unknown --accept-package-agreements --force
[12/11/25 11:37:49] Loaded operation parameters for package id=Microsoft.DotNet.DesktopRuntime.9 on manager Winget and operation Update: update --id "Microsoft.DotNet.DesktopRuntime.9" --exact --source winget --accept-source-agreements --disable-interactivity --silent --include-unknown --accept-package-agreements --force
[12/11/25 11:37:53] Integrity check passed successfully!

Package Managers Logs

Manager WinGet with version:
System WinGet (CLI) Version: v1.12.350
Using Native WinGet helper (COM Api)

——————————————————————————————————————————


Logged native task on manager Winget. Task type is ListSources
Process start time: 12/11/25 11:37:08
Process end time:   12/11/25 11:37:08

-- Task information
 ...

The task reported success

——————————————————————————————————————————

Logged subprocess-based task on manager Winget. Task type is RefreshIndexes
Subprocess executable: "C:\Users\J\AppData\Local\Microsoft\WindowsApps\winget.exe"
Command-line arguments: " source update --disable-interactivity "
Process start time: 12/11/25 11:37:30
Process end time:   12/11/25 11:37:36

-- Process STDOUT
 ...

Return code: SUCCESS (0)

——————————————————————————————————————————

Logged native task on manager Winget. Task type is ListInstalledPackages
Process start time: 12/11/25 11:37:30
Process end time:   12/11/25 11:37:41

-- Task information
 ...

The task reported success

——————————————————————————————————————————

Logged native task on manager Winget. Task type is OtherTask
Process start time: 12/11/25 11:37:30
Process end time:   12/11/25 11:37:39

-- Task information
 ...

The task reported success

——————————————————————————————————————————

Logged native task on manager Winget. Task type is ListUpdates
Process start time: 12/11/25 11:37:36
Process end time:   12/11/25 11:37:41

-- Task information
 ...

The task reported success

——————————————————————————————————————————

Relevant information

No response

Screenshots and videos

No response

jamiethomaswhite avatar Nov 12 '25 16:11 jamiethomaswhite

Secondly, I have two of every app updated installed because instead of uninstalling the old one, UniGetUI is keeping it and installing the new one as well as the old one. THEN, when you try to uninstall the old one specifically, it uninstalls EVERYTHING. As you'll see in the logs, it uninstalled winget entirely, when I told it to only uninstall the old one after it updated/installed the latest one, as well as. I am just profoundly glad I have everything synced/backed up, even settings, because it did completely nuke Obsidian. Which... that would be another conversation entirely. It is mission critical.

Thirdly, there's the failed updates (Parsec on every device failing drove me mad and it was only 8 times before I disabled it on every device). Is there not a list of apps that just do not like to be fettled with? And if the app has a perfectly functional, and even excellent, internal update mechanism (Parsec, Process Lasso, VSCodium etc), why bother updating them? I feel like there's a missing layer of intelligence and allow/block listing that should be occurring without user interaction.

Lastly, UniGetUI does not respect install locations. If I installed something manually (because I didn't want to be forced into the publisher's choices of my exe being 3 folders deep, named incomprehensible things and sometimes in Program Files, sometimes in AppData just to spice it up), UniGetUI should check that and install to the same location. Instead, it installs things again but in the default locations.

You are attributing to UniGetUI issues thay may not have been caused by it. Please remember that UniGetUI is the interface, and it uses package managers (such as WinGet) who do the hard job finding packages, installing updates, etc.

I am afraid that from UniGetUI I do not have control of which apps are showing updates and why, UniGetUI provides tools (such as ignoring updates, setting install version, global install settings, etc.) to try to improve the situation, but I cannot fix what already didn't work. Sometimes it isn't even WinGet's fault, because there are lots of programs whose installers don't follow the standard rules and do whatever they want.

Note: After updating a package, if you see duplicated versions, try to reload installed packages and see if both versions still appear.

marticliment avatar Nov 12 '25 21:11 marticliment

Feature request to search for start menu shortcuts as well as desktop shortcuts? We can do this easily.

mrixner avatar Nov 13 '25 02:11 mrixner

@mrixner, isn't this already a behaviour? When you open the shortcut manager, doesn't it scan all icons and show them as disabled?

marticliment avatar Nov 13 '25 07:11 marticliment

Scanning start menu shortcuts? No, the manager only looks at the desktop, not the start menu. I'm not quite sure what you're asking.

mrixner avatar Nov 13 '25 20:11 mrixner

Oh, my bad, I misread.

IMO, I don't really like the idea, most people don't want to clean their start menus (since, at the end, is the only way to start an app, right? If deleted from start menu it won't appear in search), and although implementation should indeed be very easy, I reckon it will lead to confusion and accidental deletion of icons by users, leaving them unable to launch programs.

marticliment avatar Nov 14 '25 08:11 marticliment

I agree, I don't think start menu cluttering is nearly as bad as desktop.

mrixner avatar Nov 14 '25 12:11 mrixner

Hello, thank you for the reasonable and considerate, kind even, responses to my frustrated diatribe. I have since reinstalled Windows entirely on 2 of my devices. I usually do this every 6-18 months, whenever I get annoyed enough by the accumulation of crap and keep hitting little snags. But I think I've arrived at the final form now so that's not likely to happen much anymore.

I have, however, been able to confirm that using UniGetUI on a up and running system with mixed install sources is not a good match. I reinstalled Windows and the drivers, then installed UniGetUI immediately. I disabled every source except Winget and proceeded to install my essential software. Did this twice over, one for each device. There's been a few updates since and there have been absolutely no issues at all! It shouldn't take reinstalling Windows, BUT I understand completely why that's the smoothest route. And, for me, in some sick way I actually enjoy reconfiguring Windows.

I think the main thing to take away from this and take into consideration, for users installing this on an old system full of software from mixed install sources and locations, might be to warn people upfront that it might not work, or even follow their existing installs fully and may cause issues down the line.

As to the start menu, it's not that I clear it out completely, it's that I'm quite OCD about it. I hate apps throwing shortcuts everywhere, especially 3 menus' deep, with some in the users start menu and some in the system start menu. This is very much a - Microsoft not setting any standards or keeping them and publishers doing whatever they feel like - problem. But the start menu is bad enough without anyone's help. I prefer either no shortcuts at all (I'll make my own) OR desktop shortcuts only that I just drag and drop into my start menu folders. I can show you how my start menus are for reference:

Image Image Image Image

jamiethomaswhite avatar Nov 20 '25 08:11 jamiethomaswhite

Also, today I had a shortcut that just did not delete after the software updated in UniGetUI. In the end, I had to reset the list and reapply all the desktop shortcut related settings to get UniGetUI to actually delete it. You can see from the screenshot it's been picked up, but it just doesn't get deleted. I either had to do it manually or finagle UniGetUI into doing it. It wasn't automatic for some reason.

Image

jamiethomaswhite avatar Nov 20 '25 10:11 jamiethomaswhite

This does actuslly bring up a good point about start menu things - some apps throw everything possible in the start menu, not only a shortcut to open the app, but also a shortcut to their documentation or their help pages. That would be something to consider. I'd probably hide it behind a setting, though.

mrixner avatar Nov 21 '25 03:11 mrixner

This does actuslly bring up a good point about start menu things - some apps throw everything possible in the start menu, not only a shortcut to open the app, but also a shortcut to their documentation or their help pages. That would be something to consider. I'd probably hide it behind a setting, though.

Oh, definitely. I know 90% of people won't care, 9% will care but will just deal with it and then there's what's left caring very deeply ':) Thank you for taking my complaints seriously anyway and allowing me to vent. I really appreciate your responses throughout.

You're right in that it is mostly not a ''you'' problem. In so much as, you've positioned yourself between us and the publishers, who are still deciding whether they want to allow you to manually choose your install location, and when using this software; the issues that their choices cause, as well as what the package managers throw in themselves (and that aren't covered in your pretty good settings selection), including us users and our blind spots, blame ultimately fall upon the last stop which is UniGetUI.

In a perfect system, it seems to work great, there's just a few personal preferences I'd like available. But I don't know many people that have such a clean environment and why other, and more, people aren't having similar issues. Maybe I look too closely?

I'm happy with where it's at now though, it was just that final annoying push of reinstalling windows and trying from zero, not knowing if it would even work.

jamiethomaswhite avatar Nov 21 '25 19:11 jamiethomaswhite

Just had this issue occur again, took a screenshot this time for good measure. I reloaded the installed packages as advised and it solved the problem. If this is a consistent/solvable issue, might it be best to force a reload in the background after updating apps? Or at least when you open the installed packages page for the first time after updating.

jamiethomaswhite avatar Nov 22 '25 11:11 jamiethomaswhite