Well based on your test results you can draw a conclusion: apparently setting the working directory does not make the working directory the primary place to look for the executable to run; it (or rather: the OS) is still picking your "default" Java installation because that is the first one it finds on its search path. You'd have to put the full path to the executable you want to invoke in the first parameter to force a specific executable to be run. I'm not sure, but I believe using the Process class in stead of the Runtime class may also help if I remember correctly from similar threads posted not too long ago.