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
11.93k stars 396 forks source link

[BUG] 3.1.1 Beta 1 - Initial startup issue - System.Runtime.InteropServices.COMException (0x80070020): The process cannot access the file because it is being used by another process. #2497

Closed RonnyTNL closed 1 month ago

RonnyTNL commented 1 month ago

Please confirm these before moving forward

UniGetUI Version

3.1.1 beta 1

Windows version, edition, and architecture

Win10x64

Describe your issue

[15/07/2024 16:05:40] Error finding sources for manager Winget [15/07/2024 16:05:40] System.Runtime.InteropServices.COMException (0x80070020): The process cannot access the file because it is being used by another process.

Steps to reproduce the issue

Not sure, only one out of 4 machines affected.

UniGetUI Log

[15/07/2024 16:05:32]    __  __      _ ______     __  __  ______
                        / / / /___  (_) ____/__  / /_/ / / /  _/
                       / / / / __ \/ / / __/ _ \/ __/ / / // /  
                      / /_/ / / / / / /_/ /  __/ /_/ /_/ // /   
                      \____/_/ /_/_/\____/\___/\__/\____/___/   
                          Welcome to UniGetUI Version 3.1.1-beta1
[15/07/2024 16:05:32]
[15/07/2024 16:05:32] Version Code:  3,1091
[15/07/2024 16:05:32] Encoding Code Page set to 437
[15/07/2024 16:05:32] Using bundled GSudo at C:\Program Files\UniGetUI\Assets\Utilities\gsudo.exe
[15/07/2024 16:05:34] Loaded language locale: en
[15/07/2024 16:05:34] Randomly-generated background API auth token for the current session: 
[15/07/2024 16:05:35] Api running on http://localhost:7058
[15/07/2024 16:05:35] Lang files were updated successfully from GitHub
[15/07/2024 16:05:35] UniGetUI is up to date
[15/07/2024 16:05:35] Downloaded new icons and screenshots successfully!
[15/07/2024 16:05:39] Command npm was not found on the system
[15/07/2024 16:05:39] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Npm
                      █ Enabled: False
                      █ THE MANAGER IS DISABLED
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[15/07/2024 16:05:39] Command choco.exe was not found on the system
[15/07/2024 16:05:39] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Chocolatey
                      █ Enabled: False
                      █ THE MANAGER IS DISABLED
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[15/07/2024 16:05:39] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Scoop
                      █ Enabled: False
                      █ THE MANAGER IS DISABLED
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[15/07/2024 16:05:40] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: .NET Tool
                      █ Enabled: False
                      █ THE MANAGER IS DISABLED
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[15/07/2024 16:05:40] Error finding sources for manager Winget
[15/07/2024 16:05:40] System.Runtime.InteropServices.COMException (0x80070020): The process cannot access the file because it is being used by another process.

                      Error trying to initialize the application data container server
                         at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|39_0(Int32 hr)
                         at ABI.Microsoft.Management.Deployment.IPackageManagerMethods.GetPackageCatalogs(IObjectReference _obj) in C:\SomePrograms\WingetUI-Store\src\WindowsPackageManager.Interop\obj\x64\Release\net8.0-windows10.0.19041.0\Generated Files\CsWinRT\Microsoft.Management.Deployment.cs:line 6767
                         at Microsoft.Management.Deployment.PackageManager.GetPackageCatalogs() in C:\SomePrograms\WingetUI-Store\src\WindowsPackageManager.Interop\obj\x64\Release\net8.0-windows10.0.19041.0\Generated Files\CsWinRT\Microsoft.Management.Deployment.cs:line 3204
                         at UniGetUI.PackageEngine.Managers.WingetManager.NativeWinGetHelper.<GetSources_UnSafe>b__7_0() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGetHelpers\NativeWinGetHelper.cs:line 220
                         at System.Threading.Tasks.Task`1.InnerInvoke()
                         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
                      --- End of stack trace from previous location ---
                         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
                         at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
                      --- End of stack trace from previous location ---
                         at UniGetUI.PackageEngine.Managers.WingetManager.NativeWinGetHelper.GetSources_UnSafe(WinGet Manager) in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGetHelpers\NativeWinGetHelper.cs:line 220
                         at UniGetUI.PackageEngine.Managers.WingetManager.WinGetSourceProvider.GetSources_UnSafe() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGetSourceProvider.cs:line 42
                         at UniGetUI.PackageEngine.Classes.Manager.Providers.BaseSourceProvider`1.GetSources() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.PackageManagerClasses\Manager\BaseProviders\BaseSourceProvider.cs:line 31
                         at UniGetUI.PackageEngine.ManagerClasses.Manager.PackageManager.GetSources() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.PackageManagerClasses\Manager\PackageManager.cs:line 387
[15/07/2024 16:05:40] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Winget
                      █ Enabled: True
                      █ Found: True
                      █ Fancye exe name: winget.exe
                      █ Executable path: C:\Users\<REMOVED>\AppData\Local\Microsoft\WindowsApps\winget.exe
                      █ Call arguments: 
                      █ Version: 
                      █   Native WinGet CLI Version: 
                      █   Microsoft.WinGet.Client PSModule version: 
                      █   Using Native WinGet helper (COM Api)
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[15/07/2024 16:05:41] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ MANAGER LOADED ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
                      █ Name: Pip
                      █ Enabled: False
                      █ THE MANAGER IS DISABLED
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[15/07/2024 16:05:42] ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
                      █▀▀▀▀▀▀▀▀▀▀▀▀▀ 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.4648                                                                          
                      █   PSEdition                      Desktop                                                                                 
                      █   PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                 
                      █   BuildVersion                   10.0.19041.4648                                                                         
                      █   CLRVersion                     4.0.30319.42000                                                                         
                      █   WSManStackVersion              3.0                                                                                     
                      █   PSRemotingProtocolVersion      2.3                                                                                     
                      █   SerializationVersion           1.1.0.1
                      ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
[15/07/2024 16:05:47] Error finding installed packages on manager Winget
[15/07/2024 16:05:47] System.Runtime.InteropServices.COMException (0x80070020): The process cannot access the file because it is being used by another process.

                      Error trying to initialize the application data container server
                         at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|39_0(Int32 hr)
                         at ABI.Microsoft.Management.Deployment.IPackageManagerMethods.GetPackageCatalogs(IObjectReference _obj) in C:\SomePrograms\WingetUI-Store\src\WindowsPackageManager.Interop\obj\x64\Release\net8.0-windows10.0.19041.0\Generated Files\CsWinRT\Microsoft.Management.Deployment.cs:line 6767
                         at Microsoft.Management.Deployment.PackageManager.GetPackageCatalogs() in C:\SomePrograms\WingetUI-Store\src\WindowsPackageManager.Interop\obj\x64\Release\net8.0-windows10.0.19041.0\Generated Files\CsWinRT\Microsoft.Management.Deployment.cs:line 3204
                         at UniGetUI.PackageEngine.Managers.WingetManager.NativeWinGetHelper.GetLocalWinGetPackages(NativeTaskLogger logger) in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGetHelpers\NativeWinGetHelper.cs:line 185
                         at UniGetUI.PackageEngine.Managers.WingetManager.NativeWinGetHelper.<>c__DisplayClass5_0.<GetInstalledPackages_UnSafe>b__0() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGetHelpers\NativeWinGetHelper.cs:line 163
                         at System.Threading.Tasks.Task`1.InnerInvoke()
                         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
                      --- End of stack trace from previous location ---
                         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
                         at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
                      --- End of stack trace from previous location ---
                         at UniGetUI.PackageEngine.Managers.WingetManager.NativeWinGetHelper.GetInstalledPackages_UnSafe(WinGet Manager) in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGetHelpers\NativeWinGetHelper.cs:line 163
                         at UniGetUI.PackageEngine.Managers.WingetManager.WinGet.<GetInstalledPackages_UnSafe>b__34_0() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGet.cs:line 126
                         at System.Threading.Tasks.Task`1.InnerInvoke()
                         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
                      --- End of stack trace from previous location ---
                         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
                         at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
                      --- End of stack trace from previous location ---
                         at UniGetUI.PackageEngine.Managers.WingetManager.WinGet.GetInstalledPackages_UnSafe() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGet.cs:line 126
                         at UniGetUI.PackageEngine.ManagerClasses.Manager.PackageManager.GetInstalledPackages() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.PackageManagerClasses\Manager\PackageManager.cs:line 217
[15/07/2024 16:05:47] Error finding sources for manager Winget
[15/07/2024 16:05:47] System.Runtime.InteropServices.COMException (0x80070020): The process cannot access the file because it is being used by another process.

                      Error trying to initialize the application data container server
                         at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|39_0(Int32 hr)
                         at ABI.Microsoft.Management.Deployment.IPackageManagerMethods.GetPackageCatalogs(IObjectReference _obj) in C:\SomePrograms\WingetUI-Store\src\WindowsPackageManager.Interop\obj\x64\Release\net8.0-windows10.0.19041.0\Generated Files\CsWinRT\Microsoft.Management.Deployment.cs:line 6767
                         at Microsoft.Management.Deployment.PackageManager.GetPackageCatalogs() in C:\SomePrograms\WingetUI-Store\src\WindowsPackageManager.Interop\obj\x64\Release\net8.0-windows10.0.19041.0\Generated Files\CsWinRT\Microsoft.Management.Deployment.cs:line 3204
                         at UniGetUI.PackageEngine.Managers.WingetManager.NativeWinGetHelper.<GetSources_UnSafe>b__7_0() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGetHelpers\NativeWinGetHelper.cs:line 220
                         at System.Threading.Tasks.Task`1.InnerInvoke()
                         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
                      --- End of stack trace from previous location ---
                         at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
                         at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
                      --- End of stack trace from previous location ---
                         at UniGetUI.PackageEngine.Managers.WingetManager.NativeWinGetHelper.GetSources_UnSafe(WinGet Manager) in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGetHelpers\NativeWinGetHelper.cs:line 220
                         at UniGetUI.PackageEngine.Managers.WingetManager.WinGetSourceProvider.GetSources_UnSafe() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGetSourceProvider.cs:line 42
                         at UniGetUI.PackageEngine.Classes.Manager.Providers.BaseSourceProvider`1.GetSources() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.PackageManagerClasses\Manager\BaseProviders\BaseSourceProvider.cs:line 31
                         at UniGetUI.PackageEngine.ManagerClasses.Manager.PackageManager.GetSources() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.PackageManagerClasses\Manager\PackageManager.cs:line 387
[15/07/2024 16:05:47] Error finding updates on manager Winget
[15/07/2024 16:05:47] System.InvalidOperationException: Process must exit before requested information can be determined.
                         at System.Diagnostics.Process.EnsureState(State state)
                         at System.Diagnostics.Process.get_ExitCode()
                         at UniGetUI.PackageEngine.Managers.WingetManager.WinGet.RefreshPackageIndexes() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.Managers.WinGet\WinGet.cs:line 410
                         at UniGetUI.PackageEngine.ManagerClasses.Manager.PackageManager.GetAvailableUpdates() in C:\SomePrograms\WingetUI-Store\src\UniGetUI.PackageEngine.PackageManagerClasses\Manager\PackageManager.cs:line 189
[15/07/2024 16:05:48] Dependency WinGet PowerShell Module for manager Winget is present
[15/07/2024 16:05:48] LoadComponentsAsync finished executing. All managers loaded. Proceeding to interface.
[15/07/2024 16:05:50] Found 2 installed packages from PowerShell
[15/07/2024 16:05:53] Found 0 available updates from PowerShell

Package Managers Logs

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

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

Logged native task on manager Winget. Task type is ListSources
Process start time: 15/07/2024 16:05:40
Process end time:   UNFINISHED

The task has not finished yet

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

Logged subprocess-based task on manager Winget. Task type is RefreshIndexes
Subprocess executable: "C:\Users\<REMOVED>\AppData\Local\Microsoft\WindowsApps\winget.exe"
Command-line arguments: " source update --disable-interactivity"
Process start time: 15/07/2024 16:05:42
Process end time:   UNFINISHED

Return code: Process has not finished yet

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

Logged native task on manager Winget. Task type is ListInstalledPackages
Process start time: 15/07/2024 16:05:46
Process end time:   UNFINISHED

The task has not finished yet

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

Logged native task on manager Winget. Task type is ListSources
Process start time: 15/07/2024 16:05:46
Process end time:   UNFINISHED

The task has not finished yet

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

Relevant information

I tried to disable all other package managers except for Winget and PowerShell but that makes no difference. Not sure but I think this started after the WinGet.Client update to 1.8.1911

Screenshots and videos

N/A

marticliment commented 1 month ago

Do WinGet Packages show up?

RonnyTNL commented 1 month ago

Nope not on this run, I have to click the "Scan circle" again to get those

Run1 (startup) image

Run2 (click the scan circle). image

marticliment commented 1 month ago

Try to enable "Use bundled WinGet" from UniGetUI Settings, and see if the error disappears

RonnyTNL commented 1 month ago

Well after a couple of hours fighting Windows I've got it working again, my Windows winget was FUBAR. First it was broken, now the alias command doesn't work as expected, I have to manually add the winget.exe location to the system %PATH% for it to work as expected.

If the system path is not set then the "winget" won't output anything, it just comes back empty, just not with "command not found" which happens if I turn of the alias.

Gona see if the winget-cli github has anything on that.

When setting the bundled Winget I noticed that the sources where gone, and that's where the hunt started...

image

RonnyTNL commented 1 month ago

I managed to fix this with help of this guide;

https://github.com/microsoft/winget-cli/tree/master/doc/troubleshooting

Posted in case other might find this helpful, ticket can be closed.