Mi a különbség a „Program Files (x86)” és a „Program Files” mappák között a Windows rendszerben?

Nagy eséllyel rendelkezik a „C: \ Program Files” és a „C: \ Program Files (x86)” mappákkal is a Windows PC-jén. Ha piszkál, akkor látni fogja, hogy egyes programjai az egyik mappába vannak telepítve, mások pedig a másikba.

32 bites és 64 bites Windows

KAPCSOLÓDÓ: Mi a különbség a 32 és 64 bites Windows között?

Eredetileg a Windows csak 32 bites operációs rendszerként volt elérhető. A Windows 32 bites verzióin - még a Windows 10 32 bites verzióinál is, amelyek még ma is elérhetők - csak a „C: \ Program Files” mappát látja.

Ez a Program Files mappa az ajánlott hely, ahol a telepített programok tárolják futtatható fájljaikat, adataikat és egyéb fájljaikat. Más szavakkal, a programok a Program Files mappába települnek.

A Windows 64 bites verzióinál a 64 bites alkalmazások a Program Files mappába települnek. A Windows 64 bites verziói azonban támogatják a 32 bites programokat is, és a Microsoft nem akarja, hogy a 32 bites és a 64 bites szoftverek összekeveredjenek ugyanott. Tehát a 32 bites programok a „C: \ Program Files (x86)” mappába kerülnek telepítésre.

A Windows 32 bites alkalmazásokat futtat a Windows 64 bites verzióin, az úgynevezett WOW64 használatával, amely a „Windows 32 bites a Windows 64 bitesen” rövidítést jelenti.

Amikor 32 bites programot futtat a Windows 64 bites kiadásán, a WOW64 emulációs réteg zökkenőmentesen átirányítja fájlhozzáférését a „C: \ Program Files” -ről a „C: \ Program Files (x86)” fájlra. A 32 bites program megpróbálja elérni a Program Files könyvtárat, és a Program Files (x86) mappára mutat. A 64 bites programok továbbra is a szokásos Program Files mappát használják.

Mi tárolódik az egyes mappákban

Összefoglalva: a Windows 32 bites verzióján csak egy „C: \ Program Files” mappa van. Ez tartalmazza az összes telepített programot, amelyek mindegyike 32 bites.

A Windows 64 bites verzióján a 64 bites programokat a „C: \ Program Files” mappában, a 32 bites programokat pedig a „C: \ Program Files (x86)” mappában tároljuk.

Ezért látszólag véletlenszerűen vannak elosztva a különböző programok a két Program Files mappában. A „C: \ Program Files” mappában lévő fájlok 64 bitesek, míg a „C: \ Program Files (x86)” mappában levők 32 bitesek.

Miért válnak szét?

Ez egy kompatibilitási funkció, amelyet régi 32 bites programokhoz terveztek. Lehetséges, hogy ezek a 32 bites programok nincsenek tisztában azzal, hogy a Windows 64 bites verziója is létezik, ezért a Windows távol tartja őket ettől a 64 bites kódtól.

A 32 bites programok nem tudják betölteni a 64 bites könyvtárakat (DLL fájlok), és összeomolhatnak, ha egy adott DLL fájlt próbálnak betölteni, és egy 32 bites helyett egy 64 biteset találnak. Ugyanez vonatkozik a 64 bites programokra is. Különböző programfájlok külön CPU architektúráknál történő megtartása megakadályozza az ilyen hibák előfordulását.

Tegyük fel például, hogy a Windows csak egyetlen Program Files mappát használt. Előfordulhat, hogy egy 32 bites alkalmazás keresi a C: \ Program Files \ Microsoft Office fájlban található Microsoft Office DLL fájlt, és megpróbálja betölteni. Ha azonban a Microsoft Office 64 bites verzióját telepítette, az alkalmazás összeomlik és nem működik megfelelően. Külön mappákkal az alkalmazás egyáltalán nem fogja megtalálni a DLL-t, mert a Microsoft Office 64 bites verziója a C: \ Program Files \ Microsoft Office címen lenne, a 32 bites alkalmazás pedig a C : \ Program Files (x86) \ Microsoft Office.

Ez akkor is segít, ha a fejlesztő létrehoz egy alkalmazás 32 és 64 bites változatát, különösen, ha egyes helyzetekben mindkettőt egyszerre kell telepíteni. A 32 bites verzió automatikusan települ a C: \ Program Files (x86) fájlba, a 64 bites verzió pedig automatikusan a C: \ Program Files fájlba. Ha a Windows egyetlen mappát használ, akkor az alkalmazás fejlesztőjének a 64 bites mappát egy másik mappába kell telepítenie, hogy elkülönüljenek. És valószínűleg nem lenne valódi szabvány arra, hogy a fejlesztők hova telepítsenek különböző verziókat.

Miért nevezik el a 32 bites mappát (x86)?

Nem mindig látja a „32 bites” és a „64 bites” szót. Ehelyett néha az „x86” és az „x64” kifejezéseket látja, amelyek erre a két különböző architektúrára utalnak. Ennek oka, hogy a korai számítógépek az Intel 8086 chipet használták. Az eredeti chipek 16 bitesek voltak, de az újabb verziók 32 bitesek lettek. Az „x86” most a 64 bites előtti architektúrára utal - legyen az 16 bites vagy 32 bites. Az újabb 64 bites architektúrát ehelyett „x64” -nek nevezik.

Ezt jelenti a „Program Files (x86)”. Ez a régebbi x86 CPU architektúrát használó programok számára a Program Files mappája. Csak vegye figyelembe, hogy a Windows 64 bites verziói nem futtathatnak 16 bites kódot.

Ez általában nem számít

KAPCSOLÓDÓ: Mi az AppData mappa a Windows rendszerben?

Általában nem számít, hogy egy program fájljait a Program Files vagy a Program Files (x86) tárolja-e. A Windows automatikusan telepíti a programokat a megfelelő mappába, így nem kell ezen gondolkodnia. A programok a Start menüben jelennek meg, és normálisan működnek, függetlenül a telepítés helyétől. Mind a 32, mind a 64 bites programoknak az adatokat olyan mappákban kell tárolniuk, mint az AppData és a ProgramData, és nem a Program Files mappákban. Csak hagyja, hogy a programja automatikusan eldöntse, melyik Program Files mappát használja.

Ha hordozható alkalmazást használ, akkor az a rendszer bármely mappájából futtatható, így nem kell aggódnia, hová tegye őket. Szeretjük a hordozható alkalmazásokat a Dropbox-ba vagy egy másik típusú felhőtároló mappába tenni, így azok elérhetők az összes számítógépünkön.

Néha tudnia kell, hogy hol tárol egy programot. Tegyük fel például, hogy be akar lépni a Steam könyvtárba, hogy biztonsági másolatot készítsen néhány fájlról. Megtalálja a C: \ Program Files (x86) fájlban, mivel a Steam egy 32 bites program.

Ha nem biztos abban, hogy egy telepített program 64 bites-e vagy sem, és annak telepítő mappáját keresi, akkor előfordulhat, hogy mindkét Programfájl mappában meg kell keresnie annak megtalálásához.

Megtekintheti a Windows 10 Feladatkezelőjében is.

A Windows 64 bites verzióiban a 32 bites programokat a további „(32 bites)” szöveggel címkézik, jelezve, hogy a C: \ Program Files (x86) fájlban találja meg őket.