A DESCRIPTION OF THE REQUEST :
The values from the system properties "os.arch" and "sun.arch.data.model" reflect whether the JVM is 32-bit or 64-bit, not whether the OS is 32-bit or 64-bit. So, if I am running a 32-bit JVM on 64-bit Windows Vista, "os.arch" is "x86" instead of "x86_64" and "sun.arch.data.model" is "32" instead of "64". This problem is exacerbated by the fact that Java Web Start is only supported with the 32-bit JVM. My application now has no way to determine whether it is running on 32-bit or 64-bit Vista.
JUSTIFICATION :
I now have to write native code for this functionality. This seems like a reasonable piece of data to include in a system property. "os.arch" makes sense to me, but for compatibility, you will probably want to create a new one. An actual method (perhaps in System) would be even better.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I originally expected "os.arch" to actually have the OS arch in it (imagine that), but anew property or method with this data would be fine.
ACTUAL -
See description.
---------- BEGIN SOURCE ----------
System.println(System.getProperty("os.arch"));
System.println(System.getProperty("sun.arch.data.model"));
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Write native code to determine whether I'm running a 64-bit or 32-bit OS.
The values from the system properties "os.arch" and "sun.arch.data.model" reflect whether the JVM is 32-bit or 64-bit, not whether the OS is 32-bit or 64-bit. So, if I am running a 32-bit JVM on 64-bit Windows Vista, "os.arch" is "x86" instead of "x86_64" and "sun.arch.data.model" is "32" instead of "64". This problem is exacerbated by the fact that Java Web Start is only supported with the 32-bit JVM. My application now has no way to determine whether it is running on 32-bit or 64-bit Vista.
JUSTIFICATION :
I now have to write native code for this functionality. This seems like a reasonable piece of data to include in a system property. "os.arch" makes sense to me, but for compatibility, you will probably want to create a new one. An actual method (perhaps in System) would be even better.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I originally expected "os.arch" to actually have the OS arch in it (imagine that), but anew property or method with this data would be fine.
ACTUAL -
See description.
---------- BEGIN SOURCE ----------
System.println(System.getProperty("os.arch"));
System.println(System.getProperty("sun.arch.data.model"));
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Write native code to determine whether I'm running a 64-bit or 32-bit OS.