There are really two sides to the coin: one side is the time to download, and the other is the amount of disk space to store the application.

Disk space is pretty cheap these days, and most computers are coming with Gigabytes and Gigabytes of hard disk space. But this was not the case three years ago. Three years ago 120 GB disks were a fantasy (or way too expensive and not mainstream.) Your best bet is to figure out your average market and try not to occupy more than 0.5% of a user's disk space. Working forwards, average disks these days are 40+ GB. You say a .NET application is ~20 MB, so that's clearly less than 0.5% of the disk space, and reasonable. (Wow, at what point did 20 MB become such a small percentage of disk space? Wow!)

Of course there's download time. This is most likely the limiter (as disk space wasn't that big a deal.) It depends on your application and its market. If its market is people working on University Campuses or in Laboratories, they probably have a fast connection, so a 20 MB download isn't bad. But if your target market is people dialed in with AOL from really remote countries, chances are their modem connection will not stay up long enough to process a 20 MB download.

Sorry for answering your question with more unknowns. I hope it helps a little.