Why did Microsoft decide to host 32-bit applications in "Program Files (x86)"?

Could it make more sense to place 64-bit applications in "Program Files (x64)" and leave 32-bit applications to run in "Program Files"?

I have a batch file that should run the Flex compiler . On x64, this program is located in "Program Files (x86)." In Windows Vista, the 32-bit version is located in "Program Files" - environment variables? Check this:

ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86) 

What should I do?


set mxmlc="%ProgramFiles(x86)%\Adobe\Flex Builder 3\sdks\3.1.0\bin\mxmlc.exe"
if NOT EXIST %mxmlc% set mxmlc="%ProgramFiles%\Adobe\Flex Builder 3\sdks\3.1.0\bin\mxmlc.exe"

Tnx

+3
source share
7 answers

. , \Windows\System32 ? , 64- DLL . , 32- DLL ? \Windows\SysWOW64, .

, Windows , . Microsoft, , , .

+7

:

SET ExecPath=%ProgramFiles(x86)%
IF "%ExecPath%"=="" SET ExecPath=%ProgramFiles%
+7

x86 32-, x86-64. ?

+1

EDIT: , FLEX. X64 "Program Files (x86)" Vista 32 "Program Files".. ?.. :

% ProgramFiles% .

+1

a.) , , . , . , . , , , .

b.) , 32- x86, 32- , . , , ? 64- , , ?

+1

Uh ... I think x86 refers to Intel processor architecture, for example. 8086, 80286, 80386, 80486 and 80586.

80386 had the first 32-bit instruction set, see x86 (Wikipedia).

EDIT: Ah, the question has been clarified.

See "Overflow Problems" C # - How to Get Program Files (x86) on Vista x64 .

0
source

Because Microsoft loves to make things more complicated for people. Instead of simplifying the transition to 64-bit, they made it divided and complex.

-4
source

Source: https://habr.com/ru/post/1699621/


All Articles