dotnet / cli-lab

A guided tool will be provided to enable the controlled clean up of a system such that only the desired versions of the Runtime and SDKs remain.
MIT License
602 stars 55 forks source link

Removal of ANY CORE .NET installation gives timeout #272

Open Aansteker opened 8 months ago

Aansteker commented 8 months ago

We have a few hundrerd VDI machines with all different kinds of CORE .NET versions on it. I have multiple problems. On all machines when using the following commands I get timeouts:

1. dotnet-core-uninstall.exe remove --all --sdk -y Uninstalling: Microsoft .NET Core SDK 3.1.426 (x86). Timeout during uninstall: "C:\ProgramData\Package Cache{d186eb99-0dec-4f33-b89a-3bcad7f6fdb0}\dotnet-sdk-3.1.426-win-x86.exe" /uninstall /quiet.

It does removal this version but it stops processing the rest. I have tried searching for answers but I cannot find anything. How can I prevent timeouts or how can I make it just proceed with all versions?

2. When using a version.rsp file with ALL CORE versions in it that exist. It just errors out because of not installed versions and does not remove anything.

dotnet-core-uninstall.exe remove --sdk @C:\temp\core\core-sdk-versions.rsp The specified version is not found: "1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.0.7, 1.0.8, 1.0.9, 1.0.10, 1.0.11, 1.0.12, 1.0.13, 1.0.14, 1.0.15, 1.1.0, 1.1.1, 1.1.2, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8, 1.1.9, 1.1.10, 1.1.11, 1.1.12, 1.1.13, 2.0.0, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7, 2.0.8, 2.0.9, 2.1.0, 2.1.1, 2.1.2, 2.1.4, 2.1.5, 2.1.6, 2.1.7, 2.1.8, 2.1.9, 2.1.10, 2.1.12, 2.1.13, 2.1.14, 2.1.15, 2.1.16, 2.1.17, 2.1.18, 2.1.19, 2.1.20, 2.1.21, 2.1.22, 2.1.23, 2.1.24, 2.1.25, 2.1.26, 2.1.27, 2.1.28, 2.1.30, 2.1.100, 2.1.102, 2.1.103, 2.1.104, 2.1.201, 2.1.502, 2.1.602, 2.1.603, 2.1.700, 2.1.801, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 2.2.103, 2.2.202, 2.2.203, 2.2.204, 2.2.300, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.1.0, 3.1.1, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.1.8, 3.1.9, 3.1.10, 3.1.11, 3.1.12, 3.1.13, 3.1.14, 3.1.15, 3.1.16, 3.1.17, 3.1.18, 3.1.19, 3.1.20, 3.1.21, 3.1.22, 3.1.23, 3.1.24, 3.1.25, 3.1.26, 3.1.27, 3.1.28, 3.1.29, 3.1.30, 3.1.31, 3.1.32, 5.0.0, 5.0.1, 5.0.2, 5.0.3, 5.0.4, 5.0.5, 5.0.6, 5.0.7, 5.0.8, 5.0.9, 5.0.10, 5.0.11, 5.0.12, 5.0.13, 5.0.14, 5.0.15, 5.0.16, 5.0.17".

3. When I create a version file with only the installed versions I get the same error as with 1.

dotnet-core-uninstall.exe remove --sdk @C:\temp\core\versions.rsp The following items will be removed: Microsoft .NET SDK 5.0.408 (x64) Microsoft .NET Core SDK 3.0.103 (x86) Microsoft .NET Core SDK 3.0.103 (x64) Microsoft .NET Core SDK 2.1.818 (x86) Microsoft .NET Core SDK 2.1.818 (x64) Microsoft .NET Core SDK 2.1.403 (x86) Microsoft .NET Core SDK 2.1.403 (x64) Microsoft .NET Core SDK - 2.1.3 (x86) Microsoft .NET Core SDK - 2.1.3 (x64) Microsoft .NET Core SDK - 2.1.202 (x86) Microsoft .NET Core SDK - 2.1.202 (x64)

dotnet-core-uninstall.exe remove --sdk @C:\temp\core\versions.rsp -y Uninstalling: Microsoft .NET SDK 5.0.408 (x64). Timeout during uninstall: "C:\ProgramData\Package Cache{59d9f5d4-8e28-4e05-b207-9deff597277c}\dotnet-sdk-5.0.408-win-x64.exe" /uninstall /quiet.

So it ALWAYS timeout during uninstall. This is not doable. I have hundrerds of machines with all different kinds of versions on it... How should I proceed? I really don't want to do this manually.