How to determine the .NET installation directory and CLR version
I recently discovered the System.Runtime.InteropServices.RuntimeEnvironment class, especially RuntimeEnvironment.GetRuntimeDirectory().
Also, RuntimeEnvironment.GetSystemVersion() gets the version of the CLR that is running the current process.