Please forgive my crossposting (message also posted to JDC Forums)
I was wondering if anyone could provide some advice:
Our webstart app works fine on 1.4.2_03, but throws a CORBA marshalling error on 1.4.2_06. The class it fails to marshall is a MutableTreeNode, so it appears this class is incompatible between the JRE used on the server and the JRE used on the client.
To prevent this, I was hoping there was some way to distinguish between the 2 JREs. From my understanding of the JNLP spec, I can have something like:
But this would mean the localURL gets called each time, and a JRE repeatedly installed. Another idea I had was to create a small Main Proxy class that each JNLP invokes first, which would check the JRE version, then pass over to the real application.
Specifying the exact JRE to have installed on the users machine is a good idea I think. I actually had a similar problem to you, except I needed the users to have 1.4.2_06 installed to take advantage of extra charsets and encoding etc.
I don't think the runtime would install each and every time, just the once if it wasn't installed already. However, I am not sure that it would fix your problem if users have a later version installed such as 1.4.2_06. I thought that the specified runtime was a minimum, not the exact. So if they have some later version then it would be used instead. I could well be wrong on this though.