i want to know which .net CLR version my application is using
See the question and my original answer on StackOverflowMaybe the RuntimeEnvironment.GetRuntimeDirectory Method?
EDIT: If you only have access to the registry (if your program is not a .NET one), I suggest you use this SO answer: How to detect what .NET Framework versions and service packs are installed?