Launch4j is a great project, that can bundle java applications into an executable, so that starting these applications is no longer a problem. No batch files needed, no relying that the default extension for jars is starting them and no command line wizardry required. Launch4j would allow you to either bundle a JRE with your java application, or it could find it during runtime.
There was only one catch, you could not let it know that what you do want it to find is a certain architecture of JRE. See, when your project would use JNI and your native libraries are only available in 32 bit architecture, then running the project with a 64bit JVM would just not work.
Thanks to the wonders of open source, the full code for launch4j is publicly available from SF, so it was no problem to fork the project and add an option to the launcher that would allow it to find 32 bit JVMs first.
A new installer is available on github!, grab it here: