but MS don't do this, coz no one will want to install .NET1/2 runtime, I think MS has some use with these runtimes like control the client PC or something.
No. MS doesn't do this as it makes the binaries rediculously large. There are native .Net compilers around if you want to statically link your .Net application so that it can run without the .Net framework (you can get these for JAva aswell).Doing so is just borderline pointless.