В чем разница между папками «Program Files (x86)» и «Program Files» в Windows?

Оглавление:

В чем разница между папками «Program Files (x86)» и «Program Files» в Windows?
В чем разница между папками «Program Files (x86)» и «Program Files» в Windows?

Видео: В чем разница между папками «Program Files (x86)» и «Program Files» в Windows?

Видео: В чем разница между папками «Program Files (x86)» и «Program Files» в Windows?
Видео: Как разделить экран iPad 10.2 (2021) на две части и открыть одновременно два приложения на iPad 2021 - YouTube 2024, Апрель
Anonim
Есть хороший шанс, что у вас есть папки «C: Program Files» и «C: Program Files (x86)» на вашем ПК с ОС Windows. Если вы соскучитесь, вы увидите, что некоторые из ваших программ установлены в одну папку, а некоторые установлены в другой.
Есть хороший шанс, что у вас есть папки «C: Program Files» и «C: Program Files (x86)» на вашем ПК с ОС Windows. Если вы соскучитесь, вы увидите, что некоторые из ваших программ установлены в одну папку, а некоторые установлены в другой.

32-битная и 64-разрядная Windows

Первоначально Windows была доступна только в 32-разрядной операционной системе. В 32-разрядных версиях Windows-даже 32-разрядных версий Windows 10, которые по-прежнему доступны сегодня, вы увидите только папку «C: Program Files».

Эта папка Program Files является рекомендуемым местом, где установленные программы должны хранить исполняемые файлы, данные и другие файлы. Другими словами, программы устанавливаются в папку Program Files.

В 64-разрядных версиях Windows 64-разрядные приложения устанавливаются в папку Program Files. Однако 64-разрядные версии Windows также поддерживают 32-разрядные программы, и Microsoft не хочет, чтобы 32-битное и 64-битное программное обеспечение смешивались в одном месте. Таким образом, 32-разрядные программы устанавливаются в папку «C: Program Files (x86)».

Windows запускает 32-разрядные приложения в 64-разрядных версиях Windows с использованием WOW64, что означает «32-разрядная версия Windows на 64-разрядной Windows».

Когда вы запускаете 32-разрядную программу в 64-разрядной версии Windows, уровень эмуляции WOW64 плавно перенаправляет доступ к файлу с «C: Program Files» на «C: Program Files (x86)». 32-разрядный программа пытается получить доступ к папке Program Files и указана на папку Program Files (x86). 64-разрядные программы по-прежнему используют обычную папку Program Files.

Что хранится в каждой папке

Таким образом, в 32-разрядной версии Windows у вас есть только папка «C: Program Files». Это содержит все установленные вами программы, все из которых являются 32-разрядными.
Таким образом, в 32-разрядной версии Windows у вас есть только папка «C: Program Files». Это содержит все установленные вами программы, все из которых являются 32-разрядными.

В 64-разрядной версии Windows 64-разрядные программы хранятся в папке «C: Program Files», а 32-разрядные программы хранятся в папке «C: Program Files (x86)».

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

Почему они разделяются?

Это функция совместимости, предназначенная для старых 32-разрядных программ. Эти 32-разрядные программы могут не знать, что 64-разрядная версия Windows даже существует, поэтому Windows отводит их от этого 64-битного кода.

32-разрядные программы не могут загружать 64-разрядные библиотеки (DLL-файлы) и могут вылетать, если они попытались загрузить определенный DLL-файл и обнаружили 64-битную версию вместо 32-разрядной. То же самое касается 64-разрядных программ. Сохранение различных программных файлов для разных архитектур процессоров предотвращает подобные ошибки.

Например, предположим, что Windows просто использовала одну папку Program Files. 32-разрядное приложение может искать файл DLL Microsoft Office, найденный в C: Program Files Microsoft Office, и попытаться загрузить его. Однако, если у вас установлена 64-разрядная версия Microsoft Office, приложение будет аварийно завершено и не будет работать должным образом. С отдельными папками это приложение не сможет найти DLL вообще, потому что 64-разрядная версия Microsoft Office будет в C: Program Files Microsoft Office, и 32-разрядное приложение будет искать в C: Program Files (x86) Microsoft Office.

Это также помогает, когда разработчик создает как 32-битную, так и 64-разрядную версии приложения, особенно если они должны быть установлены сразу в некоторых ситуациях. 32-разрядная версия автоматически устанавливается в C: Program Files (x86), а 64-разрядная версия автоматически устанавливается в C: Program Files. Если Windows использовала одну папку, разработчику приложения пришлось бы установить 64-разрядную папку в другую папку, чтобы разделить их. И, вероятно, не было бы реального стандарта, где разработчики устанавливали разные версии.

Почему 32-битная папка называется (x86)?

Вы не всегда будете видеть «32-разрядные» и «64-битные». Вместо этого вы иногда видите «x86» и «x64» для обозначения этих двух разных архитектур. Это потому, что на ранних компьютерах использовался чип Intel 8086. Исходные чипы были 16-битными, но более новые версии стали 32-битными. «X86» теперь относится к до 64-битной архитектуре - будь то 16-разрядная или 32-разрядная. Новую 64-битную архитектуру вместо этого называют «x64».
Вы не всегда будете видеть «32-разрядные» и «64-битные». Вместо этого вы иногда видите «x86» и «x64» для обозначения этих двух разных архитектур. Это потому, что на ранних компьютерах использовался чип Intel 8086. Исходные чипы были 16-битными, но более новые версии стали 32-битными. «X86» теперь относится к до 64-битной архитектуре - будь то 16-разрядная или 32-разрядная. Новую 64-битную архитектуру вместо этого называют «x64».

Это то, что означает «Program Files (x86)». Это папка Program Files для программ с использованием старой архитектуры процессора x86. Заметим, однако, что 64-разрядные версии Windows не могут запускать 16-разрядный код.

Это обычно не имеет значения

Обычно не имеет значения, хранятся ли файлы программы в Program Files или Program Files (x86). Windows автоматически устанавливает программы в правильную папку, поэтому вам не нужно об этом думать. Программы отображаются в меню «Пуск» и функционируют нормально, независимо от того, где они установлены.Обе 32-разрядные и 64-разрядные программы должны хранить ваши данные в папках, таких как AppData и ProgramData, а не в любой папке Program Files. Просто позвольте вашим программам автоматически решать, какую папку Program Files использовать.

Если вы используете переносное приложение, оно может запускаться из любой папки в вашей системе, поэтому вам не нужно беспокоиться о том, где их разместить. Нам нравится переносить переносные приложения в Dropbox или другой тип облачной папки хранения, чтобы они были доступны на всех наших компьютерах.

Иногда вам нужно знать, где хранится программа. Например, допустим, вы хотите войти в свой каталог Steam для резервного копирования некоторых файлов. Вы найдете его в C: Program Files (x86), так как Steam - это 32-разрядная программа.

Если вы не знаете, установлена ли установленная вами программа 64-разрядной или нет, и вы ищете папку для ее установки, вам может потребоваться найти ее в папках программных файлов, чтобы найти ее.

Вы также можете посмотреть в диспетчере задач Windows 10.

Рекомендуемые: