here is a sample of a batch file (ignore newlines among the resources declaration, they are there for viewing purposes only)
The batch file lives in the same directory that contains the JRE folder.
I don't know if you could use the batch file to detect an available JRE. As far as I'm concerned, by the time I'm running the batch file, I'm assuming that my bundled JRE is already in in place. batch file creation isn't my specialty, so maybe someone else could tell you how to do it. As to your last question about how to know if a JVM is present on a client machine, I'm sure there is a simple way to detect it, but for my coding(apps only so far) I don't care. I drop mine in place and I know it's there. End of story.
I have used 3 different install maker applications. The first one was InstallShield Express. It was ok, but cumbersum at the time. I'm sure it is better now, but it's expensive to buy or upgrade. I then found a free version of InstallAnywhere 5.5 that has served our purposes nicely for the past couple years. To my knowledge, they no longer provide a free version of their software however. I keep backups of that software tucked away incase I ever need to reinstall it. I have been playing with a couple of others recently. One is called Install Creator and they have a free version you can play with if you want. A very simple one is from GatherBird (google it, you'll find it) but it didn't do enough.
Hope this gets you going.
No I grab the entire JRE directory which includes all the necessary libraries and binaries(java,javaw) to run for the JVM I have been coding to. I have only been distributing to clients in Windows environments, so as long as my upgrade code is done with the same JVM that I sent to a client originally, there are no compatibility issues. I do hand place code onto a linux embedded system that lives in our hardware, but once I have a single drive setup right, I just clone the disk for each new piece of hardware ordered. If I had to distribute on different platforms, it could still be done just the way I describe, only I would have to get the proper JRE flavor for the platform in question, just as you said. As far as installing it, if you can make an installer or tarball, or any form copying a directory structure and dropping it in place, then my method should work fine as long as your batch file was setup correctly for that platform(my linux batch is different from my windows batch).
[ January 20, 2006: Message edited by: Chris Shepherd ]