I want to be able to hand out a stand-alone app that does not rely on a particular set of libraries to be installed on the person's computer. I don't mind if the app remains a managed app in the process, but I'm tired of a 250 mb bootstrapper being the "solution" for distributing a tiny application that uses one one-hundredth of the APIs provided to me.
@Chris S: dotnetfx35.exe is 231 mb; that's the latest full installer I have. Depending on what you have installed already, it may not need all the data in there (in fact, it includes x86, x64, and ia64 versions of files). You could cut out the ia64 versions to save yourself some space ( the .exe can be decompressed and messed around with - Microsoft has a guide or two on the MSDN about it) but the installer still tries to phone home to Microsoft to make sure it has all the latest versions. (There's supposed to be a way to disable it, but that's not recommended.)
@FacitiusVir: The client profile has significant limitations: missing many libraries (basically, unless you're only doing WPF, it's no good), doesn't actually count as a .NET install (other apps won't sense it as a .NET install) and only works for Only Windows XP SP2 or SP3 and x86 architecture (sorry, a whole lot of people!) As soon as you get in an environment that fails to meet any of those situations, you're SOL. And then, I'm STILL distributing 24 extra megs for my app, that may be redundant when they're forced to get the entire client for X library not included in the Client Profile. To top it off, the client installer still needs to connect to the internet to install. That's unacceptable in many environments. I don't want ANY app I write "phoning home" during install - there are too many issues with trying to make internet connections through various types of firewalls to be a reasonable solution for a stable, simple to install program. I want to make stuff that just works, not stuff that happens to work if you're in a certain configuration (and if not, you have to create some file in a special place with a special name you looked up and yatta yatta.)
Now, with the .NET 4.0 Client installer, things are looking up: it now installs for every platform (that matters), you are allowed to have a local package installer, and it's actually part of the .NET framework now and can be serviced separately. That solves many of my particular beefs with it. As long as you're making pure .NET forms apps, you'll continue to be fine. However, as before, step outside that box a little and you're back in 231 meg land.