-
Notifications
You must be signed in to change notification settings - Fork 64
Open
Description
I'm trying to unintall "phantom" installations of DotNet that I cannot even remove from the Windows 11 "Installed Apps" page on the Settings app. But it seems not even the official dotnet uninstall tool can uninstall them:
I wanted to uninstall everything to be able to install just the latest SDK.
PS C:\Users\jhmci> dotnet-core-uninstall remove --all --sdk
The following items will be removed:
Microsoft .NET SDK 6.0.318 (x64)
To avoid breaking Visual Studio or other problems, read https://aka.ms/dotnet-core-uninstall-docs.
Do you want to continue? [y/n] y
Uninstalling: Microsoft .NET SDK 6.0.318 (x64).
Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.ComponentModel.Win32Exception (2): An error occurred trying to start process 'C:\ProgramData\Package Cache\{64f6569d-108a-4f24-9de7-434fda78b102}\dotnet-sdk-6.0.318-win-x64.exe' with working directory 'C:\Users\jhmci'. The system cannot find the file specified.
at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at Microsoft.DotNet.Tools.Uninstall.Shared.Commands.UninstallCommandExec.DoIt(IEnumerable`1 bundles, VerbosityLevel verbosityLevel) in /_/src/dotnet-core-uninstall/Shared/Commands/UninstallCommandExec.cs:line 87
at Microsoft.DotNet.Tools.Uninstall.Shared.Commands.UninstallCommandExec.Execute(IBundleCollector bundleCollector, ParseResult parseResult) in /_/src/dotnet-core-uninstall/Shared/Commands/UninstallCommandExec.cs:line 45
at Microsoft.DotNet.Tools.Uninstall.Shared.Configs.CommandLineConfigs.<>c__DisplayClass43_0.<.cctor>b__6(ParseResult parseResult) in /_/src/dotnet-core-uninstall/Shared/Configs/CommandLineConfigs.cs:line 270
at Microsoft.DotNet.Tools.Uninstall.Shared.Exceptions.ExceptionHandler.<>c__DisplayClass0_0`1.<HandleException>b__0(T x) in /_/src/dotnet-core-uninstall/Shared/Exceptions/ExceptionHandler.cs:line 16
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* args)
at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at System.Delegate.DynamicInvoke(Object[] args)
at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseErrorReporting>b__21_0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass23_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__22_0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseDirective>b__20_0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseDebugDirective>b__11_0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext()
--- End of stack trace from previous location ---
at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass14_0.<<UseExceptionHandler>b__0>d.MoveNext()
PS C:\Users\jhmci> dotnet-core-uninstall list
This tool cannot uninstall versions of the runtime or SDK that are
- SDKs installed using Visual Studio 2019 Update 3 or later.
- SDKs and runtimes installed via zip/scripts.
- Runtimes installed with SDKs (these should be removed by removing that SDK).
The versions that can be uninstalled with this tool are:
.NET Core SDKs:
9.0.205 x64 [Used by Visual Studio. Specify individually or use --force to remove]
7.0.309 x64 [Used by Visual Studio 2022. Specify individually or use --force to remove]
6.0.428 x64 [Used by Visual Studio 2022. Specify individually or use --force to remove]
6.0.318 x64
.NET Core Runtimes:
ASP.NET Core Runtimes:
.NET Core Runtime & Hosting Bundles:
PS C:\Users\jhmci>Metadata
Metadata
Assignees
Labels
No labels