I am trying to deploy an application that uses JOGL for 3D rendering, so it is platform dependant. If a user with 64 bit windows tries to run it with a 32 bit Java it hangs or crashes. The java installations on windows 7 seem to be varied and I need a way of deploying something so that at least if they have 64 bit java version 1.6 then the program will run. What I have managed:

I can make an installer with NSIS that detects whether they have 32 bit or 64 bit windows. I can find the 1.6 java path from that and note it in a batch file or shortcut. The problem is, their java installation may change at some point so I believe I need to write a launcher program that does the same thing the installer does to identify the correct JRE at run time. Relying on the windows to have the 64 bit java in the path before the 32 bit will not work on 2 of the 5 computers I have looked at.

Thank you,
--Douglas Ronne

Edit: Nevermind. I completely misread.

Edit Again: Include a read me in your distribution giving instructions to the user in case of problems. I.E. this is a user problem and you should provide support, but don't expect to be able to solve every environment related issue programatically.

I have made an nsis installer that detects if the installation isn't correct and a launcher.exe I wrote in visual c++ for the Windows variant.