Пожалуйста, помните, что если вы используете загрузочное приложение установки .NET, оно будет загружать только те части .NET Framework, которые ему нужны. Обычно менее 100 МБ, в худшем случае, когда на них даже не установлен .NET 2.0.
Кроме того, в зависимости от вашего приложения вы можете использовать .NET 3.5 Client Only Framework, он значительно меньше, однако я не знаю, есть ли для него автономная загрузка.
Вы можете настроить свое приложение на использование платформы «Только клиент» из свойств проекта, просто установите флажок «Подмножество платформы только для клиента».
Это не будет работать, если ваше приложение использует WPF или WCF, я думаю. Я обновлю это позже, если узнаю, что я не прав.
EDIT:
Еще один вариант - использовать что-то вроде Xenocode Postbuild или Xenocode Virtual Application (http://www.xenocode.com) studio) для встраивания .NET Framework в ваше приложение, чтобы клиенту не нужно было устанавливать .NET на каждом компьютере.
Тем не менее, это сделает ваше приложение намного больше. Проект, над которым я работаю, использует Xenocode Postbuild для встраивания .NET Framework 3.0, а размер исполняемого файла составляет около 50 МБ, однако приложение отлично работает с флэш-накопителя.