Beyond the UI stuff, some MS software is just not meant to be uninstalled. I wanted to test an app without the VC++ 2008 redistributable installed, to see which dlls a user would need. Easy, right? Just go to control panel -> add or remove programs -> click on VC++ 2008 redistributable, and it's gone... except that all of the dlls are still there, in a huge folder with hundreds of other dlls. Which ones are for the VC++ 2008 redistributable? I have no idea. On some platforms I could just rm -rf VC++2008.framework, but not here. I guess MS thinks it would be better for usability if people had to reinstall the OS and wait through hours of updates just to remove some shared libraries.