I am trying to retrieve the environment variable to detect whether the system is 32 or 64 bit.
But on 64 bit server the environment variable %processor_architecture%
is returning x86
instead of AMD64
.
Does anyone has any clue about this?
I am trying to retrieve the environment variable to detect whether the system is 32 or 64 bit.
But on 64 bit server the environment variable %processor_architecture%
is returning x86
instead of AMD64
.
Does anyone has any clue about this?
Are you actually running a 64-bit version of Windows? If you are running 32-bit Windows on a 64-bit-capable CPU, you will still get
x86
.Apologize for the grave dig. However, the processor architecture environmental variable is accessible via powershell ...
I found on my Win7HB x64 system:
I think part of the reason it is like this way is that the x86-64 architecture has to allow 32-bit programs to treat it as identical (as far as possible) to a 32-bit environment and make sure that 32-bit programs do not think it is 64-bit only (like the Itanium architecture).
This however makes it very frustrating to people who need to access the differences between the x86-64 architecture vs 32 bit architecture on Windows.
Assuming 64bit PC with 64bit Windows installation.
%processor_architecture%
returns x86 only when getting the value in 32bit programs. In 64bit programs it returns correctly AMD64.Example: execute
echo %processor_architecture%
from:AMD64 is a brand of CPU which is based on the x86 architecture. x86-64 more precisely, which is the 64-bit extension of x86.
This also relates to bobince's answer.
This Knowledge Base article shows you how to determine if your system is 32-bit or 64-bit