The semantics of the configuraiton needs to be changed - currently <path> is designed to specify the bundled JRE path, as said in the documentation: <path>bundled JRE path</path>. Ideally launch4j should add another configuration parameter and call it something like <installedJreSearchPath> to make a clean separation of meaning. Or, leave it as is and update findJavaHome() in head.c to check the environment variable JAVA_HOME after all registry lookups fail. Since that method already hardcodes all...