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

  • Chris Hoffman

    @chrisbhoffman

  • Frissítve 2017. október 2., 13:18 EDT

Nagyon valószínű, hogy a Windows számítógépén mind a “C:\Program Files”, mind a “C:\Program Files (x86)” mappa megtalálható. Ha körülnéz, láthatja, hogy egyes programjai az egyik mappába, mások pedig a másikba vannak telepítve.

32 bites vs. 64 bites Windows

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

A Windows eredetileg csak 32 bites operációs rendszerként volt elérhető. A Windows 32 bites verzióin – még a Windows 10 ma is elérhető 32 bites verzióin is – csak a “C:\Program Files” mappa látható.

Ez a Program Files mappa az az ajánlott hely, ahol a telepített programok futtatható, adat- és egyéb fájljait tárolni kell. Más szóval a programok a Program Files mappába települnek.

Hirdetés

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 szeretné, ha a 32 bites és 64 bites szoftverek egy helyre keverednének. Ezért a 32 bites programok ehelyett a “C:\Program Files (x86)” mappába települnek.

A Windows 64 bites verzióin a Windows 32 bites alkalmazásokat a WOW64, azaz a “Windows 32-bit on Windows 64-bit” kifejezéssel futtatja.”

Mikor egy 32 bites programot futtat a Windows 64 bites kiadásán, a WOW64 emulációs réteg zökkenőmentesen átirányítja a fájlelérést a “C:\Program Files” mappából a “C:\Program Files (x86)” mappába. A 32 bites program a Program Files könyvtárat próbálja elérni, és a program a Program Files (x86) mappára mutat. A 64 bites programok továbbra is a normál Program Files mappát használják.

Mit tárolnak az egyes mappákban

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

Hirdetés

A Windows 64 bites verziójánál a 64 bites programok a “C:\Program Files” mappában, a 32 bites programok pedig a “C:\Program Files (x86)” mappában találhatók.

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

Miért vannak felosztva?

Ez egy kompatibilitási funkció, amelyet a régi 32 bites programokra terveztek. Ezek a 32 bites programok nem biztos, hogy tudják, hogy a Windows 64 bites verziója egyáltalán létezik, ezért a Windows távol tartja őket ettől a 64 bites kódtól.

A 32 bites programok nem tudnak 64 bites könyvtárakat (DLL fájlokat) betölteni, és összeomolhatnak, ha megpróbálnak betölteni egy adott DLL fájlt, és egy 64 biteset találnak a 32 bites helyett. Ugyanez vonatkozik a 64 bites programokra is. A különböző CPU-architektúrákhoz tartozó különböző programfájlok külön tartása megakadályozza az ilyen hibák bekövetkezését.

Hirdetés

Tegyük fel például, hogy a Windows csak egyetlen Program Files mappát használ. Egy 32 bites alkalmazás megkeresheti a C:\Program Files\Microsoft Office mappában található Microsoft Office DLL fájlt, és megpróbálhatja betölteni. Ha azonban a Microsoft Office 64 bites verziója lenne telepítve, az alkalmazás összeomlana és nem működne megfelelően. A külön mappák használatával ez az alkalmazás egyáltalán nem fogja tudni megtalálni a DLL-t, mivel a Microsoft Office 64 bites verziója a C:\Program Files\Microsoft Office-ban, a 32 bites alkalmazás pedig a C:\Program Files (x86)\Microsoft Office-ban keresné.

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

Miért van a 32 bites mappa neve (x86)?

Nem mindig látja a “32 bites” és a “64 bites” feliratot. Ehelyett néha “x86” és “x64” feliratokat fog látni, amelyek e két különböző architektúrára utalnak. Ez azért van, mert a korai számítógépek az Intel 8086-os chipet használták. Az eredeti chipek 16 bitesek voltak, de az újabb verziók 32 bitesek lettek. Az “x86” most a 64 bites architektúra előtti architektúrára utal – legyen az 16 vagy 32 bites. Az újabb 64 bites architektúrára ehelyett “x64”-ként hivatkoznak.

Ezt jelenti a “Program Files (x86)”. Ez a régebbi x86 CPU architektúrát használó programok Program Files mappája. Vegye azonban figyelembe, hogy a Windows 64 bites változatai nem képesek 16 bites kód futtatására.

Ez általában nem számít

RELATED:

Normális esetben nem számít, hogy egy program fájljai a Program Files vagy a Program Files (x86) mappában vannak-e tárolva. A Windows automatikusan a megfelelő mappába telepíti a programokat, így nem kell ezen gondolkodnia. A programok megjelennek a Start menüben, és normálisan működnek, függetlenül attól, hogy hová vannak telepítve. A 32 bites és a 64 bites programoknak egyaránt az AppData és ProgramData mappákban kell tárolniuk az adatokat, nem pedig valamelyik Program Files mappában. Csak hagyja, hogy a programok automatikusan eldöntsék, melyik Program Files mappát használják.

Hirdetés

Hordozható alkalmazás esetén az a rendszer bármely mappájából futtatható, így nem kell azon aggódnia, hogy hova tegye őket. Szeretjük a hordozható alkalmazásokat a Dropboxba vagy más típusú felhőalapú tároló mappába helyezni, így minden számítógépünkön elérhetőek.

Néha szükségünk van arra, hogy tudjuk, hol tárolunk egy programot. Tegyük fel például, hogy be akarsz menni a Steam könyvtáradba, hogy biztonsági másolatot készíts néhány fájlról. Ezt a C:\Program Files (x86) mappában találja, mivel a Steam egy 32 bites program.

Ha nem biztos benne, hogy egy telepített program 64 bites-e vagy sem, és a telepítési mappáját keresi, előfordulhat, hogy mindkét Program Files mappában keresnie kell, hogy megtalálja.

A Windows 10 Feladatkezelőjében is kereshet.

Hirdetés

A Windows 64 bites verzióin a 32 bites programok a “(32-bit)” kiegészítő szöveggel vannak megjelölve, ami arra utal, hogy a C:\Program Files (x86) mappában találja őket.

Chris Hoffman
Chris Hoffman a How-To Geek főszerkesztője. Több mint egy évtizede ír a technológiáról, és két évig a PCWorld rovatvezetője volt. Chris írt a The New York Times-nak, technológiai szakértőként interjút adott olyan televíziós csatornáknak, mint a miami NBC 6, és olyan hírcsatornák is beszámoltak munkájáról, mint a BBC. 2011 óta Chris több mint 2000 cikket írt, amelyeket közel egymilliárdszor olvastak el – és ez csak itt, a How-To Geek-nél történt.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.