Some developers treat the topic of distribution as an afterthought an annoying step between developing the program and having users run it. Nothing could be further from the truth. Properly distributing a program is a skill unto itself, and it should be treated as an integral and vital part of the development process. The first impression that a user has of your program and your company is usually the custom setup program that installs your application. If the interface is sloppy or restrictive, users will carry their impressions with them as they use the product. If, on the other hand, the interface is logical, presents the users with choices when appropriate, properly installs your program, and doesn't cause any harm to other applications or the operating system itself, users will begin their relationship with your program on an extremely positive and pleasant note.
Note
As you begin to distribute updates and service packs, you'll want to integrate the discussion in Chapter 17, "Version Control," with the material presented here to ensure that you don't break your own application installations.