I recently worked for a client who needed to remove the .NET framework 4.6.1 for internal security reasons (and I am guessing no real need to have it as only older products use it now).
The web is a sparse place when you need to find out how and what it will impact so after collating it over multiple places I thought I would outline what worked for me and the client:
1. Download the .NET Framework Verification Tool: http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx
2. Run it – Check that 4.6.1 is listed, if it’s not you all good to go anyway
3. Remove the update from your Programs and Features: KB3102467
4. Reboot – Big one – don’t skip it!
5. Run the Verification tool again, should be gone.
6. Repair the .NET 4.5.2 installation and place it back to it’s original state – Programs and Features again!
7. Another reboot
8. Apply the security updates for 4.5.2 – KB3122654 / KB3127226 – but leave off KB3102467!
9. Another reboot
This will at least give your system a clean bill of health without the .NET update installed, but if you have already installed services on top of the framework you can still remove it, using these steps…
Services installed already....
1. Stop all your services relating to the product installed (Skype – Stop-CsWindowsService)
2. Follow above steps to remove the update
3. Start everything back up, all services will need to recompile the assemblies back to former or later versions you have installed, patience and out of hours!
You can speed up the recompile process if your in a hurry, this MS blog describes what it actually does: https://blogs.msdn.microsoft.com/dotnet/2013/08/06/wondering-why-mscorsvw-exe-has-high-cpu-usage-you-can-speed-it-up/
Download the script and run it, should allow you to use the beefy cores you have in the system instead of a single thread – http://aka.ms/DrainNGenQueue