allow management of 7.0 SDKs and Runtimes by baronfel · Pull Request #235 · dotnet/cli-lab

I will try to improve the discusion about this talking about how i use this tool: My use of the DotNet Core Uninstaller is for servers only, i don't have Visual Studio installed on these servers, don't use SDKs, i'm only on the infrastructure side.

I manage some IIS servers clusters to hosting DotNet Core (and DotNet) systems, APIs, services, etc. So each month i have to update the servers to Windows Servers patches and download the latests Hosting Bundle for each DotNet version to install/update all my IIS servers to enable the newer applications to ran fine (and patch the older versions).

After the discover that i can update the DotNet from WSUS, I asked the WSUS team to include the DotNet Core and DotNet to update apps (ex: last month i asked then to enable DotNet 7 updates so these months the patches came with Windows Update).

So now i just ran Windows Update to update all the DotNet versions installed (3.1, 5.0, 6.0, 7.0)

I have two types of clusters:
Cluster A: all apps use the server shared DotNet. In this case i need the latest Hosting Bundle and the latest Runtime, and the server has all the DotNet versions (on latest versions) to be able to ran everything.
Cluster B: each app put your own DotNet built-in. In this case i only need the latest Hosting Bundle pack.

In an ideal world (example of the launch of the 7.0), i downloaded the 7.0.0 Hosting Bundle only, install everything on Cluster A and set a parameter to install only the Hosting Bundle on Cluster B. However, for some reason (i opened an issue, have to find the number), Install everything AND remove the Runtimes isn't the same that install only the Hosting Bundle. Seems like the IIS don't register the files, or something happens.

So basically i discovered and have been using the DotNet Core Uninstaller to do this:
Cluster A: Install the Full Hosting Bundle
Cluster B: Install the Full Hosting Bundle and after that, run "dotnet-core-uninstall remove --runtime --all --force --yes"

Addind to this, when the Windows Update updates the DotNet version, it install again the Runtimes, so each month now i have to install the Windows Update patches and after reboot, ran the "dotnet-core uninstall remove --runtimes" to clean all the runtimes.

So each time a new DotNet launches i came to the Github page to update my DotNet uninstaller to keeping work as i expected.

Sorry for the wall of text, but i think that could be a good thing to show why, where and how i use this software.