So I use the .NET framework (with C# to be exact).
I was thinking on how to distribute the framework version (in case the user doesn't have it) and on how to check if the user has it or not.
So as a recap...
I want my program to start running, check if user has the .NET framework (as opposed to main() starting the Application right away). If he does, run, if not, install it.
I can include files with the installation (of course) and possibly use those to install it.