marticliment / UniGetUI

UniGetUI: The Graphical Interface for your package managers. Could be terribly described as a package manager manager to manage your package managers
https://www.marticliment.com/unigetui/
MIT License
13.32k stars 460 forks source link

[BUG] "Missing dependency" for .NET Tools Outdated shows on every startup #2390

Closed trystero11 closed 4 months ago

trystero11 commented 4 months ago

Please confirm these before moving forward

UniGetUI Version

3.1.0 beta 2

Windows version, edition and architecture

Windows 10 Pro 10.0.19045.4598 x64

Describe your issue

Every time I start UniGetUI, I'm presented with the "Missing dependency" dialogue box for .NET Tools Outdated.

I select Install .NET Tools Outdated, then Restart UniGetUI, and when the program restarts, I get the dialogue box again.

This wasn't happening when I ran UniGetUI 3.1.0 beta 1, so it seems to be a new behavior in 3.1.0 beta 2.

Steps to reproduce the issue

Start UniGetUI 3.1.0 beta 2.

UniGetUI Log

[7/2/2024 2:51:37 PM] 
                         __  __      _ ______     __  __  ______
                        / / / /___  (_) ____/__  / /_/ / / /  _/
                       / / / / __ \/ / / __/ _ \/ __/ / / // /  
                      / /_/ / / / / / /_/ /  __/ /_/ /_/ // /   
                      \____/_/ /_/_/\____/\___/\__/\____/___/   
                          Welcome to UniGetUI Version 3.1.0-beta2
[7/2/2024 2:51:37 PM]
[7/2/2024 2:51:37 PM] Version Code:  3.0994
[7/2/2024 2:51:37 PM] Using bundled GSudo at C:\Program Files\UniGetUI\Assets\Utilities\gsudo.exe
[7/2/2024 2:51:37 PM] Loaded language locale: en
[7/2/2024 2:51:37 PM] Randomly-generated background API auth token for the current session: 6vnv6w7cenr7a8nqxncs0794zom595txbwgc6w9tg39d2uxhw321a25z7k4es2d4
[7/2/2024 2:51:37 PM] Api running on http://localhost:7058
[7/2/2024 2:51:37 PM] Lang files were updated successfully from GitHub
[7/2/2024 2:51:37 PM] UniGetUI is up to date
[7/2/2024 2:51:38 PM] Downloaded new icons and screenshots successfully!
[7/2/2024 2:51:38 PM] Command npm was not found on the system
[7/2/2024 2:51:38 PM] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Npm
                      █ Enabled: True
                      █ Found: False
                      █ THE MANAGER WAS NOT FOUND. PERHAPS IT IS NOT 
                      █ INSTALLED OR IT HAS BEEN MISCONFIGURED 
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[7/2/2024 2:51:38 PM] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Winget
                      █ Enabled: True
                      █ Found: True
                      █ Fancye exe name: winget.exe
                      █ Executable path: C:\Users\trystero\AppData\Local\Microsoft\WindowsApps\winget.exe
                      █ Call arguments: 
                      █ Version: 
                      █   Naive WinGet CLI Version: v1.8.1791
                      █   Microsoft.WinGet.Client PSModule version: 
                      █   Using Native WinGet helper (COM Api)
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[7/2/2024 2:51:38 PM] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: .NET Tool
                      █ Enabled: True
                      █ Found: True
                      █ Fancye exe name: dotnet tool
                      █ Executable path: C:\Program Files\dotnet\dotnet.exe
                      █ Call arguments: tool
                      █ Version: 
                      █   3.1.426
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[7/2/2024 2:51:38 PM] Starting scoop cleanup...
[7/2/2024 2:51:38 PM] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Pip
                      █ Enabled: True
                      █ Found: True
                      █ Fancye exe name: pip
                      █ Executable path: D:\Users\trystero\scoop\apps\python\current\python.exe
                      █ Call arguments:  -m pip
                      █ Version: 
                      █   pip 24.1.1 from D:\Users\trystero\scoop\apps\python\current\Lib\site-packages\pip (python 3.12)
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[7/2/2024 2:51:39 PM] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Scoop
                      █ Enabled: True
                      █ Found: True
                      █ Fancye exe name: scoop
                      █ Executable path: C:\Windows\system32\windowspowershell\v1.0\powershell.exe
                      █ Call arguments:  -NoProfile -ExecutionPolicy Bypass -Command scoop
                      █ Version: 
                      █   Current Scoop version:
                      █   d337bb1f chore(release): Bump to version 0.4.2 (#5964)
                      █   
                      █   'main' bucket:
                      █   300e71319 watchexec: Update to version 2.1.2
                      █   
                      █   'extras' bucket:
                      █   a7b264a21 xpipe: Update to version 10.0.4
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[7/2/2024 2:51:39 PM] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Chocolatey
                      █ Enabled: True
                      █ Found: True
                      █ Fancye exe name: choco.exe
                      █ Executable path: C:\Users\trystero\AppData\Local\UniGetUI\Chocolatey\choco.exe
                      █ Call arguments: 
                      █ Version: 
                      █   2.2.2
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[7/2/2024 2:51:39 PM] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: PowerShell
                      █ Enabled: True
                      █ Found: True
                      █ Fancye exe name: powershell.exe
                      █ Executable path: C:\Windows\system32\windowspowershell\v1.0\powershell.exe
                      █ Call arguments:  -NoProfile -Command
                      █ Version: 
                      █   Name                           Value                                                                                   
                      █   ----                           -----                                                                                   
                      █   PSVersion                      5.1.19041.4597                                                                          
                      █   PSEdition                      Desktop                                                                                 
                      █   PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                 
                      █   BuildVersion                   10.0.19041.4597                                                                         
                      █   CLRVersion                     4.0.30319.42000                                                                         
                      █   WSManStackVersion              3.0                                                                                     
                      █   PSRemotingProtocolVersion      2.3                                                                                     
                      █   SerializationVersion           1.1.0.1
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[7/2/2024 2:51:40 PM] Command dotnet-tools-outdated.exe was not found on the system
[7/2/2024 2:51:40 PM] Scoop cleanup finished!
[7/2/2024 2:51:40 PM] Found 0 installed packages from .NET Tool
[7/2/2024 2:51:40 PM] Found 34 installed packages from Scoop
[7/2/2024 2:51:40 PM] Dependency WinGet PowerShell Module for manager Winget is present
[7/2/2024 2:51:41 PM] Found 16 installed packages from Pip
[7/2/2024 2:51:41 PM] Found 0 installed packages from Chocolatey
[7/2/2024 2:51:41 PM] Dependency Scoop-Search for manager Scoop is present
[7/2/2024 2:51:41 PM] Found 0 available updates from Chocolatey
[7/2/2024 2:51:41 PM] Dependency Git for manager Scoop is present
[7/2/2024 2:51:41 PM] Command dotnet-tools-outdated.exe was not found on the system
[7/2/2024 2:51:41 PM] Dependency .NET Tools Outdated was not found for manager .NET Tool, marking to prompt...
[7/2/2024 2:51:41 PM] Found 0 installed packages from PowerShell
[7/2/2024 2:51:42 PM] Found 0 available updates from PowerShell
[7/2/2024 2:51:42 PM] Error finding updates on manager .NET Tool
[7/2/2024 2:51:42 PM] System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'dotnet-tools-outdated.exe' with working directory 'C:\Program Files\UniGetUI'. The system cannot find the file specified.
                         at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
                         at UniGetUI.PackageEngine.Managers.DotNetManager.DotNet.GetAvailableUpdates_UnSafe() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.Dotnet\DotNet.cs:line 103
                         at UniGetUI.PackageEngine.ManagerClasses.Manager.PackageManager.GetAvailableUpdates() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.PackageManagerClasses\Manager\PackageManager.cs:line 190
[7/2/2024 2:51:42 PM] Found 0 available updates from Pip
[7/2/2024 2:51:43 PM] Found 34 installed packages from Scoop
[7/2/2024 2:51:45 PM] Found 0 available updates from Scoop
[7/2/2024 2:51:45 PM] Found 251 installed packages from Winget
[7/2/2024 2:51:45 PM] Backup saved to D:\Users\trystero\Documents\Settings\OEDIPA installed packages.json
[7/2/2024 2:51:45 PM] Found 3 available updates from Winget
[7/2/2024 2:55:28 PM] LoadComponentsAsync finished executing. All managers loaded. Proceeding to interface.

Package Managers Logs

Manager Winget with version:
Naive WinGet CLI Version: v1.8.1791
Microsoft.WinGet.Client PSModule version: 
Using Native WinGet helper (COM Api)

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

Logged native task on manager Winget. Task type is ListSources
Process start time: 7/2/2024 2:51:38 PM
Process end time:   7/2/2024 2:51:38 PM

-- Task information
 ...

The task reported success

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

Logged subprocess-based task on manager Winget. Task type is RefreshIndexes
Subprocess executable: "C:\Users\trystero\AppData\Local\Microsoft\WindowsApps\winget.exe"
Command-line arguments: " source update --disable-interactivity"
Process start time: 7/2/2024 2:51:39 PM
Process end time:   7/2/2024 2:51:40 PM

-- Process STDOUT
 ...

Return code: SUCCESS (0)

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

Logged subprocess-based task on manager Winget. Task type is ListPackages
Subprocess executable: "C:\Windows\system32\windowspowershell\v1.0\powershell.exe"
Command-line arguments: "-ExecutionPolicy Bypass -NoLogo -NoProfile"
Process start time: 7/2/2024 2:51:39 PM
Process end time:   7/2/2024 2:51:45 PM

-- Process STDIN
 ...

-- Process STDOUT
 ...

-- Process STDERR
  Write-Output : The term 'Write-Output' is not recognized as the name of a cmdlet, function, script file, or 
  operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try 
  again.
  At line:1 char:1
  + Write-Output (Get-Module -Name Microsoft.WinGet.Client).Version
  + ~~~~~~~~~~~~~~~
      + CategoryInfo          : ObjectNotFound: (Write-Output:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException

Return code: SUCCESS (0)

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

Logged native task on manager Winget. Task type is ListSources
Process start time: 7/2/2024 2:51:40 PM
Process end time:   7/2/2024 2:51:40 PM

-- Task information
 ...

The task reported success

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

Logged subprocess-based task on manager Winget. Task type is ListUpdates
Subprocess executable: "C:\Windows\system32\windowspowershell\v1.0\powershell.exe"
Command-line arguments: "-ExecutionPolicy Bypass -NoLogo -NoProfile"
Process start time: 7/2/2024 2:51:40 PM
Process end time:   7/2/2024 2:51:45 PM

-- Process STDIN
 ...

-- Process STDOUT
 ...

-- Process STDERR
  Write-Output : The term 'Write-Output' is not recognized as the name of a cmdlet, function, script file, or 
  operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try 
  again.
  At line:1 char:1
  + Write-Output (Get-Module -Name Microsoft.WinGet.Client).Version
  + ~~~~~~~~~~~~~~~
      + CategoryInfo          : ObjectNotFound: (Write-Output:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException

Return code: SUCCESS (0)

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

Relevant information

No response

Screenshots and videos

No response

trystero11 commented 4 months ago

.NET runtimes installed, reported with dotnet --info:

.NET runtimes installed:
  Microsoft.AspNetCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.31 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.13 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.31 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 8.0.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
trystero11 commented 4 months ago

Aha. I only had .NET SDK 3.1 installed, as reported with dotnet --list-sdks:

3.1.426 [C:\Program Files\dotnet\sdk]

I uninstalled this version and installed the latest .NET SDK version from https://dotnet.microsoft.com/en-us/download. dotnet --list-sdks now reports:

8.0.302 [C:\Program Files\dotnet\sdk]

With this version, I manually ran dotnet tool install --global dotnet-tools-outdated (as recommended here), and it ran successfully. And now I no longer see the "Missing dependency" dialogue box when I start UniGetUI.