Please confirm these before moving forward
UniGetUI Version
2026.2.2
Windows version, edition, and architecture
Windows 10 Pro 22H2 19045.7417
Describe your issue
Ever since UniGetUI has been acquired, I've been having trouble using the Uninstall package, then update it option within the Software Updates tab. The problem is that the commands seem to run parallel instead of sequentially instead of uninstalling first and then installing the new update. Upon skimming the logs, it seems like there is an issue in particular with the Update operation not waiting for the uninstall to finish executing (System.InvalidOperationException: An async read operation has already been started on the stream.). Immediately after the failure, if you attempt to re-run the update task under operations history, it will still fail again despite having uninstalled - I suppose this because it's running update, and the package has been uninstalled; therefore, this seems intended, but I thought I would mention it nonetheless.
Steps to reproduce the issue
Pre-requisite: You must have a WinGet package available to update. Note, I haven't tried this option on other packages.
- Navigate to the Software Updates tab
- Attempt to "Uninstall package, then update it" on a WinGet package
- --> BUG: The update operation fails while the uninstall operation succeeds
UniGetUI Log
[6/27/2026 10:44:46 PM] Found 377 installed packages from Winget
[6/27/2026 10:44:53 PM] WinGet package Microsoft.VisualStudioCode is installed on a system-wide scope, forcing administrator rights...
[6/27/2026 10:44:53 PM] Loaded operation parameters for package id=Microsoft.VisualStudioCode on manager Winget and operation Update: update --id "Microsoft.VisualStudioCode" --exact --source winget --accept-source-agreements --disable-interactivity --scope machine --silent --include-unknown --accept-package-agreements --force
[6/27/2026 10:45:07 PM] Version string 1.2.76.297.ga70a30a3 appears to contain non-numeric characters within a numeric segment and will be treated as unknown
[6/27/2026 10:45:07 PM] Version string 1.2.76.297.ga70a30a3 appears to contain non-numeric characters within a numeric segment and will be treated as unknown
[6/27/2026 10:45:08 PM] Found 377 installed packages from Winget
[6/27/2026 10:45:33 PM] Failed to write operation history
[6/27/2026 10:45:34 PM] System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.Generic.List`1.Enumerator.MoveNext()
at UniGetUI.Avalonia.Infrastructure.AvaloniaOperationRegistry.AppendOperationHistory(AbstractOperation op)
[6/27/2026 10:45:39 PM] Parallel operation limit not set, defaulting to 1
[6/27/2026 10:45:39 PM] Parallel operation limit not set, defaulting to 1
[6/27/2026 10:45:39 PM] Recovered from fatal WinGet exception:
[6/27/2026 10:45:39 PM] System.Runtime.InteropServices.COMException (0x8A15003F)
at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
at ABI.Microsoft.Management.Deployment.IPackageVersionInfo4Methods.GetApplicableInstaller(IObjectReference _obj, InstallOptions options)
at UniGetUI.PackageEngine.Managers.WingetManager.NativePackageHandler._getInstallationOptionsOnDict(IPackage package, ConcurrentDictionary`2& source, Boolean installed, InstallOptions unigetuiOptions)
at UniGetUI.PackageEngine.Managers.WingetManager.NativePackageHandler.GetInstallationOptions(IPackage package, InstallOptions unigetuiOptions, OperationType operation)
at UniGetUI.PackageEngine.Managers.WingetManager.WinGetPkgOperationHelper._getOperationParameters(IPackage package, InstallOptions options, OperationType operation)
[6/27/2026 10:45:39 PM] Loaded operation parameters for package id=mikf.gallery-dl.Nightly on manager Winget and operation Uninstall: uninstall --id "mikf.gallery-dl.Nightly" --exact --source winget --accept-source-agreements --disable-interactivity --version "2026.06.22" --silent
[6/27/2026 10:45:39 PM] Recovered from fatal WinGet exception:
[6/27/2026 10:45:39 PM] System.Runtime.InteropServices.COMException (0x8A15003F)
at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|38_0(Int32 hr)
at ABI.Microsoft.Management.Deployment.IPackageVersionInfo4Methods.GetApplicableInstaller(IObjectReference _obj, InstallOptions options)
at UniGetUI.PackageEngine.Managers.WingetManager.NativePackageHandler._getInstallationOptionsOnDict(IPackage package, ConcurrentDictionary`2& source, Boolean installed, InstallOptions unigetuiOptions)
at UniGetUI.PackageEngine.Managers.WingetManager.NativePackageHandler.GetInstallationOptions(IPackage package, InstallOptions unigetuiOptions, OperationType operation)
at UniGetUI.PackageEngine.Managers.WingetManager.WinGetPkgOperationHelper._getOperationParameters(IPackage package, InstallOptions options, OperationType operation)
[6/27/2026 10:45:39 PM] Loaded operation parameters for package id=mikf.gallery-dl.Nightly on manager Winget and operation Uninstall: uninstall --id "mikf.gallery-dl.Nightly" --exact --source winget --accept-source-agreements --disable-interactivity --version "2026.06.22" --silent
[6/27/2026 10:45:39 PM] System.InvalidOperationException: An async read operation has already been started on the stream.
at System.Diagnostics.Process.BeginErrorReadLine()
at UniGetUI.PackageOperations.AbstractProcessOperation.PerformOperation()
[6/27/2026 10:45:40 PM] System.InvalidOperationException: The stream is currently in use by a previous operation on the stream.
at System.IO.StreamReader.ThrowAsyncIOInProgress()
at UniGetUI.PackageOperations.AbstractProcessOperation.PerformOperation()
at UniGetUI.PackageOperations.AbstractOperation._runOperation()
[6/27/2026 10:45:45 PM] Path returned by the package manager "C:\Users\user\AppData\Local\Microsoft\WinGet\Packages\mikf.gallery-dl.Nightly_Microsoft.Winget.Source_8wekyb3d8bbwe" did not exist while loading package install location for package Id=mikf.gallery-dl.Nightly with Manager=Winget
[6/27/2026 10:45:52 PM] Version string 1.2.76.297.ga70a30a3 appears to contain non-numeric characters within a numeric segment and will be treated as unknown
[6/27/2026 10:45:52 PM] Version string 1.2.76.297.ga70a30a3 appears to contain non-numeric characters within a numeric segment and will be treated as unknown
[6/27/2026 10:45:52 PM] Found 376 installed packages from Winget
Package Managers Logs
Unfortunately I forgot to fetch this log. I can check once more when I the package requires an update in the future. Although, I do have the operation logs which I'll attach under _Relevant Information_.
Relevant information
Operation History
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Package uninstall operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Starting operation...
Executing process with StartInfo:
- FileName: "C:\Users\user\AppData\Local\Microsoft\WindowsApps\winget.exe"
- Arguments: "uninstall --id "mikf.gallery-dl.Nightly" --exact --source winget --accept-source-agreements --disable-interactivity --version "2026.06.22" --silent"
Start Time: "6/27/2026 10:45:39 PM"
Package uninstall operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Starting operation...
Executing process with StartInfo:
- FileName: "C:\Users\user\AppData\Local\Microsoft\WindowsApps\winget.exe"
- Arguments: "uninstall --id "mikf.gallery-dl.Nightly" --exact --source winget --accept-source-agreements --disable-interactivity --version "2026.06.22" --silent"
Start Time: "6/27/2026 10:45:39 PM"
System.InvalidOperationException: The stream is currently in use by a previous operation on the stream.
at System.IO.StreamReader.ThrowAsyncIOInProgress()
at UniGetUI.PackageOperations.AbstractProcessOperation.PerformOperation()
at UniGetUI.PackageOperations.AbstractOperation._runOperation()
gallery-dl could not be uninstalled
Found gallery-dl [mikf.gallery-dl.Nightly]
Starting package uninstall...
Successfully uninstalled
End Time: "6/27/2026 10:45:45 PM"
Process return value: "0" (0x0)
gallery-dl was uninstalled successfully
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Package update operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Version: 2026.06.22 -> 2026.06.27
Running PreOperation (1/1)...
Package uninstall operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Starting operation...
Executing process with StartInfo:
- FileName: "C:\Users\user\AppData\Local\Microsoft\WindowsApps\winget.exe"
- Arguments: "uninstall --id "mikf.gallery-dl.Nightly" --exact --source winget --accept-source-agreements --disable-interactivity --version "2026.06.22" --silent"
Start Time: "6/27/2026 10:45:39 PM"
System.InvalidOperationException: The stream is currently in use by a previous operation on the stream.
at System.IO.StreamReader.ThrowAsyncIOInProgress()
at UniGetUI.PackageOperations.AbstractProcessOperation.PerformOperation()
at UniGetUI.PackageOperations.AbstractOperation._runOperation()
gallery-dl could not be uninstalled
PreOperation 1 out of 1 failed, and was tagged as necessary. Aborting...
gallery-dl could not be updated
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Package update operation for Package=yt-dlp.yt-dlp.nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
CustomParameters_Install: [--verbose-logs, --skip-dependencies]
CustomParameters_Update: [--verbose-logs, --skip-dependencies]
CustomParameters_Uninstall: [--verbose-logs]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Version: 2026.06.21.235142 -> 2026.06.26.234622
Starting operation...
Executing process with StartInfo:
- FileName: "C:\Users\user\AppData\Local\Microsoft\WindowsApps\winget.exe"
- Arguments: "update --id "yt-dlp.yt-dlp.nightly" --exact --source winget --accept-source-agreements --disable-interactivity --silent --include-unknown --location "C:\Users\user\AppData\Local\Microsoft\WinGet\Packages\yt-dlp.yt-dlp.nightly_Microsoft.Winget.Source_8wekyb3d8bbwe" --accept-package-agreements --force --verbose-logs --skip-dependencies"
Start Time: "6/27/2026 10:44:45 PM"
Found yt-dlp-nightly [yt-dlp.yt-dlp.nightly] Version 2026.06.26.234622
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Dependencies skipped.
Downloading https://github.com/yt-dlp/yt-dlp-nightly-builds/releases/download/2026.06.26.234622/yt-dlp.exe
██████████████████████████████ 17.3 MB / 17.3 MB
Successfully verified installer hash
Starting package install...
Command line alias added: "yt-dlp"
Successfully installed
End Time: "6/27/2026 10:44:53 PM"
Process return value: "0" (0x0)
yt-dlp-nightly was updated successfully
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
Operations Tab - 1/2 - gallery-dl Uninstall
Package uninstall operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Starting operation...
Executing process with StartInfo:
- FileName: "C:\Users\user\AppData\Local\Microsoft\WindowsApps\winget.exe"
- Arguments: "uninstall --id "mikf.gallery-dl.Nightly" --exact --source winget --accept-source-agreements --disable-interactivity --version "2026.06.22" --silent"
Start Time: "6/27/2026 10:45:39 PM"
Package uninstall operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Starting operation...
Executing process with StartInfo:
- FileName: "C:\Users\user\AppData\Local\Microsoft\WindowsApps\winget.exe"
- Arguments: "uninstall --id "mikf.gallery-dl.Nightly" --exact --source winget --accept-source-agreements --disable-interactivity --version "2026.06.22" --silent"
Start Time: "6/27/2026 10:45:39 PM"
System.InvalidOperationException: The stream is currently in use by a previous operation on the stream.
at System.IO.StreamReader.ThrowAsyncIOInProgress()
at UniGetUI.PackageOperations.AbstractProcessOperation.PerformOperation()
at UniGetUI.PackageOperations.AbstractOperation._runOperation()
gallery-dl could not be uninstalled
Found gallery-dl [mikf.gallery-dl.Nightly]
Starting package uninstall...
Successfully uninstalled
End Time: "6/27/2026 10:45:45 PM"
Process return value: "0" (0x0)
gallery-dl was uninstalled successfully
Operations Tab - 2/2 - gallery-dl Update
Package update operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Version: 2026.06.22 -> 2026.06.27
Running PreOperation (1/1)...
Package uninstall operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Starting operation...
Executing process with StartInfo:
- FileName: "C:\Users\user\AppData\Local\Microsoft\WindowsApps\winget.exe"
- Arguments: "uninstall --id "mikf.gallery-dl.Nightly" --exact --source winget --accept-source-agreements --disable-interactivity --version "2026.06.22" --silent"
Start Time: "6/27/2026 10:45:39 PM"
System.InvalidOperationException: The stream is currently in use by a previous operation on the stream.
at System.IO.StreamReader.ThrowAsyncIOInProgress()
at UniGetUI.PackageOperations.AbstractProcessOperation.PerformOperation()
at UniGetUI.PackageOperations.AbstractOperation._runOperation()
gallery-dl could not be uninstalled
PreOperation 1 out of 1 failed, and was tagged as necessary. Aborting...
gallery-dl could not be updated
Found gallery-dl [mikf.gallery-dl.Nightly]
Starting package uninstall...
Successfully uninstalled
End Time: "6/27/2026 10:45:45 PM"
Process return value: "0" (0x0)
gallery-dl was uninstalled successfully
Also, earlier I mentioned the issue with retrying the update operation within the operations tab below. Here is the log when clicking retry on the update process, it attempts all over to uninstall which causes both operations to fail now.
Operations Tab - Retrying Update
Package update operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Version: 2026.06.22 -> 2026.06.27
Running PreOperation (1/1)...
Package uninstall operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Starting operation...
Executing process with StartInfo:
- FileName: "C:\Users\user\AppData\Local\Microsoft\WindowsApps\winget.exe"
- Arguments: "uninstall --id "mikf.gallery-dl.Nightly" --exact --source winget --accept-source-agreements --disable-interactivity --version "2026.06.22" --silent"
Start Time: "6/27/2026 10:45:39 PM"
System.InvalidOperationException: The stream is currently in use by a previous operation on the stream.
at System.IO.StreamReader.ThrowAsyncIOInProgress()
at UniGetUI.PackageOperations.AbstractProcessOperation.PerformOperation()
at UniGetUI.PackageOperations.AbstractOperation._runOperation()
gallery-dl could not be uninstalled
PreOperation 1 out of 1 failed, and was tagged as necessary. Aborting...
gallery-dl could not be updated
Found gallery-dl [mikf.gallery-dl.Nightly]
Starting package uninstall...
Successfully uninstalled
End Time: "6/27/2026 10:45:45 PM"
Process return value: "0" (0x0)
gallery-dl was uninstalled successfully
-----------------------
Retrying operation with RetryMode=Retry
Retried package operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Updated installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Running PreOperation (1/1)...
Package uninstall operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Package uninstall operation for Package=mikf.gallery-dl.Nightly with Manager=Winget
Installation options: <InstallOptions instance (only non-default values are shown)
SkipHashCheck: True
CustomParameters_Install: [--rename, "gallery-dl.exe"]
OverridesNextLevelOpts: True>
Overriden options: <Scope=;RunAsAdministrator=;WG_SpecifyVersion=;PS_NoScope=False;Pip_BreakSystemPackages=False>
Starting operation...
Starting operation...
Executing process with StartInfo:
Executing process with StartInfo:
- FileName: "C:\Users\user\AppData\Local\Microsoft\WindowsApps\winget.exe"
- FileName: "C:\Users\user\AppData\Local\Microsoft\WindowsApps\winget.exe"
- Arguments: "uninstall --id "mikf.gallery-dl.Nightly" --exact --source winget --accept-source-agreements --disable-interactivity --version "2026.06.22" --silent"
- Arguments: "uninstall --id "mikf.gallery-dl.Nightly" --exact --source winget --accept-source-agreements --disable-interactivity --version "2026.06.22" --silent"
Start Time: "6/27/2026 10:51:04 PM"
Start Time: "6/27/2026 10:51:04 PM"
No installed package found matching input criteria.
No installed package found matching input criteria.
End Time: "6/27/2026 10:51:08 PM"
End Time: "6/27/2026 10:51:08 PM"
Process return value: "-1978335212" (0x8A150014)
Process return value: "-1978335212" (0x8A150014)
gallery-dl could not be uninstalled
gallery-dl could not be uninstalled
PreOperation 1 out of 1 failed, and was tagged as necessary. Aborting...
gallery-dl could not be updated
Screenshots and videos

Please confirm these before moving forward
UniGetUI Version
2026.2.2
Windows version, edition, and architecture
Windows 10 Pro 22H2 19045.7417
Describe your issue
Ever since UniGetUI has been acquired, I've been having trouble using the
Uninstall package, then update itoption within the Software Updates tab. The problem is that the commands seem to run parallel instead of sequentially instead of uninstalling first and then installing the new update. Upon skimming the logs, it seems like there is an issue in particular with the Update operation not waiting for the uninstall to finish executing (System.InvalidOperationException: An async read operation has already been started on the stream.). Immediately after the failure, if you attempt to re-run the update task under operations history, it will still fail again despite having uninstalled - I suppose this because it's running update, and the package has been uninstalled; therefore, this seems intended, but I thought I would mention it nonetheless.Steps to reproduce the issue
Pre-requisite: You must have a WinGet package available to update. Note, I haven't tried this option on other packages.
UniGetUI Log
Package Managers Logs
Relevant information
Operation History
Operations Tab - 1/2 - gallery-dl Uninstall
Operations Tab - 2/2 - gallery-dl Update
Also, earlier I mentioned the issue with retrying the update operation within the operations tab below. Here is the log when clicking retry on the update process, it attempts all over to uninstall which causes both operations to fail now.
Operations Tab - Retrying Update
Screenshots and videos