What is the best way to package a software application written in Java? If I were to write an application and sell it, how would I go about getting it on to the customer's PC? How do small software companies do that? Is there something like Installshield that is open source? Would I package up the entire JRE along with the application? Do small software companies generally use Swing to develop their applications? Thanks for the help!
Java Webstart is good option if you want software update transparent to end user. You can bundle your entire application in war format & post on your server directory. Your end user has installed Java Webstart & point to server directory from webstart itself. This way you avoid creating CD or uploading new version on FTP side or any other means (email) to your client. But it depends on requirement & environment. It works great for intranet or small scale client. (It is mainly for java application) Hope this helps.
If you wanted a traditional installation program like anything you would pick up at some electronics boutique (ew), you can start by searching for ZeroG (they offer a freebie version of an installation program) ... Um, their competition is InstallAnywhere (I forget the company), but that one's all commercial. I don't know if there are any decent open-source, or at least free, installation programs for Java. I certainly haven't been able to find any that are adequate and pleasing on the eye.