As the title says: Is there a **common way** in C# and especially unmanaged native C++ to determine installed CLR versions? This means not just checking whether the Framework is installed according [this KB article](http://msdn.microsoft.com/en-us/kb/kbarticle.aspx?id=318785). I want to do it by using the CLR interface, as done [here](http://blogs.msdn.com/b/junfeng/archive/2005/07/07/436755.aspx) for CLR1, CLR1.1 and CLR2. In this way I can make sure that they are really installed. But this doesn't apply to CLR4. Any Ideas?

My goal is to create an enumeration of available CLR versions like [Clrver](http://msdn.microsoft.com/library/ff427522.aspx) (regardless the process list functionallity) does.