В чем разница между «Program Files» и «Program Files X86»?

37

В Windows 7 есть две папки: «Program Files» и «Program Files X86». В чем разница между ними?

Где устанавливается 64-битная программа?

Der Hochstapler
источник

Ответы:

60

Эти две папки существуют только в 64-битных версиях Windows (XP, Vista и 7). 64-битные приложения идут в «Program Files», 32-битные приложения устанавливаются в «Program Files (x86)».

MartinStettner
источник
22

Другой ответ частично верен, но они «не существуют только в 64-битных версиях Win7». Они также существуют в 64-разрядной версии XP, 64-разрядной версии Vista, 64-разрядной версии Server 2003, 64-разрядной версии Server 2008 и т. Д.

Родные 64-битные приложения запускаются в «Программных файлах»; и «Program Files (x86)» служит в качестве обратной совместимости для 32-разрядных приложений, работающих на 64-разрядной платформе.

KCotreau
источник
Для справки, админ с тех пор отредактировал свой ответ.
Котро,
Да, и это очевидно, любой может редактировать другой пост, если у него достаточно представителей. edusysadmin здесь не администратор в суперпользователе, а обычный пользователь, как большинство из нас здесь.
Моав
@Moab Я только что видел сисадмина часть его ручки, и хотя он был один.
Котро,
Я бы сказал, что (x86) существует для упрощения поддержки двух отдельных установок некоторого программного обеспечения, поскольку WoW64 не требует запуска исполняемого файла из определенного места.
Фоши
1
@ DMA57361 Спасибо всемогущий мастер (см. Я видел алмаз). :) Серьезно, спасибо.
Котро
12

Другие ответы верны, но они не говорят, как это работает. Установка всегда ищет значение переменной «ProgramFilesPath» в реестре Windows, который находится в:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion

Здесь вы также можете найти как x64-путь, так и x86-путь.

Программа установки, написанная для самой архитектуры x86, автоматически перемещается по пути «Program Files (X86)». Современные установщики, такие как InstallShield, также могут определить, какой путь является правильным, основываясь на программном обеспечении, которое они хотят настроить.

DiableNoir
источник
1
Стоит также отметить, что некоторые старые установщики все равно будут устанавливаться в Program Files, потому что они используют жестко закодированный каталог, вместо того, чтобы проверять окна, запрашивающие местоположение.
AndrejaKo
А WIX может устанавливаться в Program Files только на 64-битных системах с большим количеством искажений. Так что приложения используют WIX для установщика, все устанавливаются в Program Files (x86)
Дэвид Тилен