I made a small application and I am ready to distribute it.
I want to know how to make an installer (or publish) so that it checks .Net 4 then installs it if its not installed
You need to use a Visual Studio Setup Project and include a prerequisite of .NET 4 along with your project output. You should determine whether you need Client Profile or full-blown .NET Redistributable (typically assigned in your application project properties).