They threw the baby out with the bath water
They (MS) spent 10 years developing .Net as the next great big programming language, and it has evolved into something that was originally clever and slow into something that is really excellent.
However, Microsoft *themselves* never adopted it. Instead of writing the OS in C++ and supporting applications (control panel applets and the like) in .Net, they continued writing everything as native apps.
They never ported Office over to .Net, nor Visio, no SQL Server. Nothing.
If they had ported them, and encouraged everyone, including 3rd party vendors, to develop in .Net then they would have had the perfect cross-platform vehicle when introduce two divergent technologies as they have with Win8 and WinRT.
Your apps would run on both systems.
Instead, Microsoft seem to be placing less and less emphasis on their .Net platform. It's no longer hip at MS it seems. I can only think that a new crowd is en vogue in MS, and .Net is the ginger-haired step child, the legacy app that the new breed of software engineers have to maintain. Not Invented Here Syndrome.
A shame. They seem to have thrown the baby out with the bath water IMHO.