Recipe 23.11 "Write Once, Install Anywhere"
You want your application program to be installable on a variety of platforms by users who have not yet earned a Ph.D. in software installation.
Use an installer.
The process of installing software is nontrivial. Unix command-line geeks are quite happy to extract a gzipped tar file and set their PATH manually, but if you want your software to be used by the larger masses, you need something simpler. As in, point and click. Several tools try to automate this process. The better ones will create startup icons on Mac OS, Windows, and even some of the Unix desktops (CDE, KDE, GNOME).
I've had good results with ZeroG Software's commercial InstallAnywhere. It ensures that a JVM is installed and has both web-based and application installation modes; that is, you can install the application from a web page or you can run the installer explicitly. See http://www.zerog.com.
Sitraka (formerly KL Group) DeployDirector is a newer entry that promises to automate deployment of client-side applications on hundreds or thousands of desktops. It works with Java Web Start (see Recipe 23.13). I haven't tried it. See http://www.sitraka.com/deploy/.
InstallShield has long been the leader in the Windows installation world, but they have had more competition in the Java world. They can be reached at http://www.installshield.com.
Recipe 23.13 discusses Java Web Start, Sun's new web-based application installer.