After working with packaging and deploying software applications to a bazillion computers for several years, I've compiled some thoughts. Here goes: it seems that there are some consistent problems with software vendors views of customers and customer environments. The bigger problem is that they don't seem to be "getting it" any better now than in the past. In fact, with the economic pressures being applied on their end, I doubt they care to "get it" at this point, but maybe they will in the future...
1. Our client computers do not have INFINITE hard drive capacity.
2. Our client computers do not have INFINITE memory capacity either.
3. Not all client computers have Internet access (pssssst: here's a secret: some computers have to run in isolated environments to keep bad folks from messing with them).
4. Their products are not the only products we deal with.
5. Their products are not the only products installed on a given computer. There are others. Amazing, isn't it?
6. Unattended/Silent installs and uninstalls are very important (we don't like manually doing this on 20,000 computers. Seriously)
7. Sometimes users don't have Administrator or Power User rights.
Amazing, isn't it?
8. Sometimes we don't want your products checking for automatic updates.
9. Your developers should try to follow at least some of Microsoft's guidelines. It helps customers and helps you as well.
10. Releasing version upgrades more than once per year is not helpful.