Има шанс да имате и папките "C: \ Program Files" и "C: \ Program Files (x86)" на компютъра си с Windows. Ако се приближите, ще видите, че някои от вашите програми са инсталирани в една папка, а някои са инсталирани в друга.
Първоначално Windows беше достъпен само като 32-битова операционна система. На 32-битовите версии на Windows - дори 32-битовите версии на Windows 10, които все още са на разположение днес - ще видите само папката "C: \ Program Files".
Тази папка Програмни файлове е препоръчаното място, където инсталираните от вас програми трябва да съхраняват своите изпълними, данни и други файлове. С други думи, програмите се инсталират в папката Програмни файлове.
В 64-битовите версии на Windows, 64-битовите приложения се инсталират в папката Program Files. 64-битовите версии на Windows също поддържат 32-битови програми и Microsoft не иска 32-битов и 64-битов софтуер да се смесва на едно и също място. Така че 32-битовите програми се инсталират в папката "C: \ Program Files (x86)".
Windows изпълнява 32-битови приложения на 64-битови версии на Windows, използвайки нещо наречено WOW64, което означава "Windows 32-bit на Windows 64-bit".
Когато изпълнявате 32-битова програма на 64-битово издание на Windows, емулационният слой WOW64 безпроблемно пренасочва достъпа до файловете си от "C: \ Program Files" на "C: \ Program Files (x86)". програмата се опитва да осъществи достъп до директорията на програмните файлове и е насочена към папката Program Files (x86). 64-битовите програми все още използват папката на нормалните програмни файлове.
В обобщение, на 32-битова версия на Windows, имате само папка "C: \ Program Files". Това съдържа всички инсталирани програми, всички от които са 32-битови.
На 64-битова версия на Windows 64-битовите програми се съхраняват в папката "C: \ Program Files" и 32-битовите програми се съхраняват в папката "C: \ Program Files (x86)".
Ето защо различните програми се разпространяват в двете папки Програмни файлове, на пръв поглед случайни. Тези в папката "C: \ Program Files" са 64-битови, а папките в папката "C: \ Program Files (x86)" са 32-битови.
Това е функция за съвместимост, предназначена за стари 32-битови програми. Тези 32-битови програми може да не са наясно, че 64-битовата версия на Windows дори съществува, така че Windows ги държи далеч от този 64-битов код.
32-битовите програми не могат да зареждат 64-битови библиотеки (DLL файлове) и могат да се сринат, ако се опитат да заредят конкретен DLL файл и да намерят 64-битова, вместо 32-битова. Същото важи и за 64-битовите програми. Запазването на различни програмни файлове за отделни отделни архитектури на процесора предотвратява подобни грешки.
Например, да кажем, че Windows използва само една папка Програмни файлове. 32-битово приложение може да търси файл за Microsoft Office DLL, намиращ се в C: \ Program Files \ Microsoft Office и да се опита да го зареди. Ако обаче сте инсталирали 64-битова версия на Microsoft Office, приложението ще се срине и няма да функционира правилно. С отделни папки това приложение няма да може да намери DLL изобщо, тъй като 64-битовата версия на Microsoft Office ще бъде в C: \ Program Files \ Microsoft Office и 32-битовото приложение ще търси в C : \ Програмни файлове (x86) \ Microsoft Office.
Това също помага, когато разработчик създава както 32-битови, така и 64-битови версии на приложение, особено ако в някои ситуации трябва да бъдат инсталирани едновременно. 32-битовата версия автоматично се инсталира в C: \ Program Files (x86) и 64-битовата версия автоматично се инсталира в C: \ Program Files. Ако Windows използва само една папка, разработчикът на приложението би трябвало да инсталира 64-битовата папка в друга папка, за да бъде отделена. И вероятно няма да има реален стандарт за това къде разработчиците са инсталирали различни версии.
Не винаги ще виждате "32-битови" и "64-битови". Вместо това понякога ще видите "x86" и "x64", за да се отнесете към тези две различни архитектури. Това е така, защото ранните компютри използват чипа Intel 8086. Оригиналните чипове бяха 16-битови, но по-новите версии станаха 32-битови. "X86" сега се отнася до предварително 64-битовата архитектура - независимо дали е 16-битова или 32-битова. Новата 64-битова архитектура вместо това се нарича "x64".
Това означава "Програмни файлове (x86)". Това е папка Програмни файлове за програми, използващи по-старата архитектура на процесора x86. Само имайте предвид обаче, че 64-битовите версии на Windows не могат да изпълняват 16-битов код.
Обикновено няма значение дали файловете на програмата се съхраняват в програмни файлове или програмни файлове (x86). Windows автоматично инсталира програмите в правилната папка, така че не е нужно да мислите за това. Програмите се показват в менюто "Старт" и функционират нормално, независимо къде са инсталирани. И двата 32-битови и 64-битови програми трябва да съхраняват вашите данни в папки като AppData и ProgramData, а не във всяка папка Програмни файлове. Просто нека програмите автоматично да решат кои папки Програмни файлове да използват.
Ако използвате преносимо приложение, то може да се изпълнява от всяка папка в системата ви, така че не е нужно да се безпокоите къде да ги поставите. Обичаме да пускаме преносими приложения в Dropbox или друг тип папка за съхранение в облак, така че те да са достъпни на всички наши компютри.
Понякога ще трябва да знаете къде се съхранява дадена програма. Например, да речем, че искате да отидете в директорията на Steam, за да архивирате някои файлове.Ще го намерите в C: \ Program Files (x86), тъй като Steam е 32-битова програма.
Ако не сте сигурни дали дадена програма, която сте инсталирали, е 64-битова или не и търсите нейната инсталационна папка, може да се наложи да търсите в двете папки Програмни файлове, за да я намерите.
Можете също така да търсите в мениджъра на задачите на Windows 10.
В 64-битовите версии на Windows 32-битовите програми се маркират с допълнителен текст (32-битов), който ви показва, че ще ги намерите в C: \ Program Files (x86).