A department where I work (in a place that employs 1500 computer users) purchased an upgrade to Autocad one year that was a total mess. After a couple of weeks their tech support suggested we reimage the computer and start fresh. We stood our ground, stating that we weren't going to reimage a system for 5000 dollar software that can't upgrade from the previous version of itself. We were going to make them work for that money.
They did. I believe they had to uninstall the previous version and delete a lot of leftover registry keys and files. Amazing how uninstalls never really uninstall the thing. Never understood the logic in that. I've seen companies (like HP and Kofax) have to make cleanup tools for their own software because the uninstalls don't actually remove everything. I wonder if they contract their installation components out to third parties that screw it up.
Yeah, Visual Studio is definitely the right candidate for a cleanup tool. I guess Microsoft learned their lesson. It's a shame every vendor doesn't put as much effort into cleaning up their crap as they put into the installer, but maybe they figure if you're removing it then they couldn't care any less about you.
I'm just a small data point, but I had the distinct "pleasure" of assisting an office-mate in installing one of their products[1]. Now, she's not not particularly computer-savvy, but she can usually install things. It turned out they were doing some sort of absurd web-install thing -- which didn't understand non-IE logins, btw. Even worse, it turned out that if anything interrupted the install process you couldn't resume... and here's where it gets really weird: You couldn't just click the installer executable to restart the download... you had to start THE WHOLE FUCKING "LOG-IN TO AUTODESKS SHITTY SITE TO AUTHORIZE THE DOWNLOAD" PROCESS COMPLETELY OVER. You... couldn't just click on the "install" executable again. Because that's what normal people do. Over and over -- until someone who understands shitty programmers reverse-engineers the typical AutoDesk programmer's thought process.[2]
Soooo much UX fail.
[1] Can't recall exactly what it was: I think it may have been AutoCAD or Rivet, but, no matter... same company.
[2] The people who programmed this should be fired. Even if they programmed it because "management" told them to, they should probably be fired because they didn't fight back enough.