The runtimes are still the nightmare with .NET.
I support code on 20,000-30,000 desktops and analyse the registry of them. The amount of PCs without any .NET runtimes (let alone 2+) is staggering. There is no way one can mass-distribute auxillary code to them (the core application is C++) without employing an army of support staff to hand-hold on the reboots.
C++ is the only way to go for client-side applications.
What a disaster the whole OO mirage has been for MS and so us! What a cost inflator!
... and ASP.NET webforms/viewstate... I could type for DAYS (our programming contractors clearly did.)