Launch4j is an open source installer that wrappes your jar files into native executables for e.g. Windows, but also MacOS, Linux and Solaris are supported.
For JRE you can either embed one - or have the installer check the system on install and prompt for download of correct JRE version.
To make Launch4j even more attractive it support splash screen prior to or while launching the java application.
Launch4j is a cross-platform tool for wrapping Java applications distributed as jars in lightweight Windows native executables.
The executable can be configured to search for a certain JRE version or use a bundled one, and it's possible to set runtime options, like the initial/max heap size.
The wrapper also provides better user experience through an application icon, a native pre-JRE splash screen, a custom process name, and a Java download page in case the appropriate JRE cannot be found.