Please remember, if you use the Windows boot application to install .NET, it will download only those parts of the .NET infrastructure that it needs. Usually less than 100 MB, in the worst case, when they do not even have .NET 2.0.
In addition, depending on your application, you can use the .NET 3.5 Client Only platform, it is much smaller, however I do not know if there is an offline download for it.
You can configure your application to use the "Client Only" infrastructure from the project properties, just check the "Subset the client framework" checkbox.
This will not work if your application uses WPF or WCF, I think. I will update this later if I find out that I am wrong.
EDIT:
Another option is to use something like Xenocode Postbuild or Xenocode Virtual Application ( http://www.xenocode.com ) to implement the .NET platform in your application so that the client does not need to install .NET on each machine.
However, this will make your application much larger. The project I'm working on uses Xenocode Postbuild to implement the .NET framework 3.0 and the exe size is about 50 MB, however the application works fine with a flash drive.
source share