We are using a java application running on 1.6.0_16 to launch the javaws process which internally uses its own version of jre mentioned in the jnlp file . We have multiple versions of jre installed in the system like 1.6.0_14,1.6.0_10,1.6.0_07,1.6.0_21 and 1.6.0_24.
Everything launches fine if we use any lower version of jre in the jnlp file as compared to the one that application uses , as i mentioned we are using 1.6.0_16 for our main java process which invoked javaws <jnlp>,i.e if i use any jre version lower than that the javaws application launches perfectly fine.
But if i launch my java process with 1.6.0_16 and try to use 1.6.0_21 or 1.6.0_24 jre in the jnlp, even the jre exists on client machine my application is failing to start up saying "cannot find jre need to be installed manually".
We are under impression that the java process we launch should have the higher or equal version of jre as compared to the one in the jnlp.