If M$ would have designed the registry in a mindful manner they wouldn't have left it to developers to clean things up properly after a program is removed. They would have done well to require the use of a standard installation procedure that includes some sort of monitoring of what is changed in the registry by a program. This is the simplest solution I can think of and would eliminate the issue of programs leaving crap behind in the registry. You say "If it was that easy, wouldn't Microsoft have released a patch to change the way things work?" The answer is "No, we are talking about Microsoft here!" They won't fix something like this when they can easily ignore it in the short term. They know most users will not bother to install such a patch and they would also have to worry about backwards compatibility with the old broken registry. The point is, if the registry wasn't designed so stupidly, this would never be an issue. There are no other modern operating systems that will crash because some user installed too many programs. Now, I'm not saying you can mess up other operating systems, but it's much easier to mess up Windows, you just have to use it!