Wat is het verschil tussen de mappen Program Files (x86) en Program Files in Windows?
De kans is groot dat u de mappen "C: \ Program Files" en "C: \ Program Files (x86)" op uw Windows-pc hebt staan. Als je rondneusd, zie je dat sommige van je programma's in één map zijn geïnstalleerd en sommige in de andere map.
32-bits versus 64-bits Windows
Oorspronkelijk was Windows alleen beschikbaar als een 32-bits besturingssysteem. Op 32-bits versies van Windows-zelfs 32-bits versies van Windows 10, die nog steeds beschikbaar zijn, ziet u alleen de map "C: \ Program Files".
Deze map Program Files is de aanbevolen locatie waar programma's die u installeert hun uitvoerbare bestanden, gegevens en andere bestanden moeten opslaan. Met andere woorden, programma's worden geïnstalleerd in de map Program Files.
Op 64-bits versies van Windows worden 64-bits toepassingen geïnstalleerd naar de map Program Files. 64-bits versies van Windows ondersteunen echter ook 32-bits programma's en Microsoft wil niet dat 32-bits en 64-bits software op dezelfde plaats worden door elkaar gehaald. Dus 32-bits programma's worden in plaats daarvan in de map "C: \ Program Files (x86)" geïnstalleerd.
Windows voert 32-bit-toepassingen uit op 64-bit versies van Windows met behulp van iets genaamd WOW64, wat staat voor "Windows 32-bit op Windows 64-bit."
Wanneer u een 32-bits programma uitvoert op een 64-bits editie van Windows, leidt de WOW64-emulatielaag naadloos de toegang van het bestand van "C: \ Program Files" naar "C: \ Program Files (x86)." De 32-bits programma probeert toegang te krijgen tot de map Program Files en wordt verwezen naar de map Program Files (x86). 64-bits programma's gebruiken nog steeds de normale map Program Files.
Wat is opgeslagen in elke map
Kort gezegd, op een 32-bits versie van Windows hebt u gewoon de map "C: \ Program Files". Dit bevat al uw geïnstalleerde programma's, die allemaal 32-bits zijn.
Op een 64-bits versie van Windows worden 64-bits programma's opgeslagen in de map "C: \ Program Files" en 32-bits programma's worden opgeslagen in de map "C: \ Program Files (x86)".
Daarom zijn verschillende programma's verspreid over de twee programmabestandenmappen, schijnbaar willekeurig. De bestanden in de map "C: \ Program Files" zijn 64-bits, terwijl die in de map "C: \ Program Files (x86)" 32-bits zijn.
Waarom zijn ze opgesplitst?
Dit is een compatibiliteitsfunctie die is ontworpen voor oude 32-bits programma's. Deze 32-bits programma's zijn zich mogelijk niet bewust dat een 64-bits versie van Windows bestaat, dus Windows houdt ze uit de buurt van die 64-bits code.
32-bits programma's kunnen geen 64-bit-bibliotheken (DLL-bestanden) laden en kunnen crashen als ze een specifiek DLL-bestand proberen te laden en een 64-bits exemplaar vinden in plaats van een 32-bits versie. Hetzelfde geldt voor 64-bit-programma's. Door verschillende programmabestanden gescheiden te houden voor verschillende CPU-architecturen, worden fouten zoals deze voorkomen.
Stel dat Windows slechts één map met programmabestanden heeft gebruikt. Een 32-bits toepassing kan op zoek gaan naar een Microsoft Office DLL-bestand dat wordt gevonden in C: \ Program Files \ Microsoft Office en probeert het te laden. Als u echter een 64-bits versie van Microsoft Office had geïnstalleerd, zou de toepassing crashen en niet goed werken. Met de afzonderlijke mappen kan die toepassing het DLL-bestand helemaal niet vinden, omdat de 64-bits versie van Microsoft Office zich in C: \ Program Files \ Microsoft Office bevindt en de 32-bits toepassing in C zou zijn. : \ Program Files (x86) \ Microsoft Office.
Dit helpt ook als een ontwikkelaar zowel 32-bits als 64-bits versies van een toepassing maakt, vooral als beide in één keer in sommige situaties moeten worden geïnstalleerd. De 32-bits versie wordt automatisch geïnstalleerd in C: \ Program Files (x86) en de 64-bits versie wordt automatisch geïnstalleerd in de C: \ Program Files. Als Windows een enkele map gebruikt, moet de ontwikkelaar van de toepassing de 64-bits map installeren in een andere map om ze gescheiden te houden. En er is waarschijnlijk geen echte standaard voor waar ontwikkelaars verschillende versies installeerden.
Waarom is de 32-bit map benoemd (x86)?
U zult niet altijd "32-bits" en "64-bits" zien. In plaats daarvan ziet u soms "x86" en "x64" om naar deze twee verschillende architecturen te verwijzen. Dat komt omdat vroege computers de Intel 8086-chip hebben gebruikt. De originele chips waren 16-bits, maar nieuwere versies werden 32-bits. "X86" verwijst nu naar de pre-64-bit architectuur - of dat nu 16-bit of 32-bit is. De nieuwere 64-bits architectuur wordt in plaats daarvan "x64" genoemd.
Dat is wat "Program Files (x86)" betekent. Het is de map Program Files voor programma's die de oudere x86 CPU-architectuur gebruiken. Houd er echter rekening mee dat 64-bits versies van Windows geen 16-bits code kunnen uitvoeren.
Dit is niet normaal
Het maakt normaal niet uit of de bestanden van een programma worden opgeslagen in programmabestanden of programmabestanden (x86). Windows installeert automatisch programma's in de juiste map, dus u hoeft er niet over na te denken. Programma's verschijnen in het Start-menu en functioneren normaal, ongeacht waar ze zijn geïnstalleerd. Zowel 32-bits als 64-bits programma's moeten uw gegevens opslaan in mappen zoals AppData en ProgramData, en niet in een map Program Files. Laat uw programma's automatisch beslissen welke map met programmabestanden u wilt gebruiken.
Als u een draagbare app gebruikt, kan deze worden uitgevoerd vanuit elke map op uw systeem, zodat u zich geen zorgen hoeft te maken over waar u ze moet plaatsen. We plaatsen graag draagbare apps in Dropbox of een ander type cloudopslagmap, zodat ze beschikbaar zijn op al onze pc's.
U zult soms moeten weten waar een programma is opgeslagen. Stel dat u bijvoorbeeld naar uw Steam-map wilt gaan om een back-up te maken van bepaalde bestanden. Je vindt het in C: \ Program Files (x86), omdat Steam een 32-bits programma is.
Als u niet zeker weet of een programma dat u hebt geïnstalleerd 64-bits is of niet, en u zoekt naar de installatiemap, moet u mogelijk in beide programmabestandenmappen kijken om het te vinden.
Je kunt ook kijken in Taakbeheer van Windows 10.
Op 64-bits versies van Windows worden 32-bits programma's getagd met de extra "(32-bits)" -tekst, waardoor u een indicatie krijgt dat u ze in C: \ Program Files (x86) zult vinden.