Vad är skillnaden mellan mapparna Programfiler (x86) och Programfiler i Windows?
Det finns en bra chans att du har både mapparna "C: \ Programfiler" och "C: \ Programfiler (x86)" på din Windows-dator. Om du pekar runt ser du att några av dina program är installerade i en mapp, och vissa är installerade i den andra.
32-bitars vs 64-bitars Windows
Ursprungligen var Windows endast tillgängligt som ett 32-bitars operativsystem. På 32-bitars versioner av Windows-till och med 32-bitars versioner av Windows 10, som fortfarande är tillgängliga idag, kommer du bara att se en mapp "C: \ Program Files".
Den här programfilerna är den rekommenderade platsen där program du installerar ska lagra deras körbara data, data och andra filer. Med andra ord installerar programmen till mappen Programfiler.
På 64-bitarsversioner av Windows installerar 64-bitars program i mappen Programfiler. 64-bitarsversioner av Windows stöder dock 32-bitarsprogram, och Microsoft vill inte att 32-bitars och 64-bitars programvara blir blandade på samma plats. Så, 32-bitars program installeras i mappen "C: \ Program Files (x86)" istället.
Windows kör 32-bitars program på 64-bitars versioner av Windows med något som heter WOW64, vilket står för "Windows 32-bitars på Windows 64-bitars."
När du kör ett 32-bitarsprogram i en 64-bitars upplaga av Windows, omdirigerar WOW64-emuleringsskiktet sin filåtkomst från "C: \ Program Files" till "C: \ Program Files (x86)." 32-bitars programmet försöker öppna programfilerna och pekar på mappen Programfiler (x86). 64-bitarsprogram använder fortfarande den vanliga Programfiler-mappen.
Vad lagras i varje mapp
Sammanfattningsvis, i en 32-bitarsversion av Windows, har du bara en mapp "C: \ Program Files". Detta innehåller alla dina installerade program, som alla är 32-bitars.
I en 64-bitarsversion av Windows lagras 64-bitars program i mappen "C: \ Program Files" och 32-bitars program sparas i mappen "C: \ Program Files (x86)".
Det är därför som olika program sprids över de två programfilerna, till synes slumpmässigt. De i mappen "C: \ Programfiler" är 64-bitars, medan de i mappen "C: \ Program Files (x86)" är 32-bitars.
Varför delas de upp?
Detta är en kompatibilitetsfunktion avsedd för gamla 32-bitarsprogram. Dessa 32-bitars program kanske inte är medvetna om att en 64-bitarsversion av Windows ens existerar, så Windows håller dem borta från den 64-bitars koden.
32-bitarsprogram kan inte ladda 64-bitars bibliotek (DLL-filer) och kan krascha om de försökte ladda en specifik DLL-fil och hitta en 64-bitars en istället för en 32-bitars. Detsamma gäller för 64-bitars program. Att hålla olika programfiler för olika CPU-arkitekturer separerar förhindrar att sådana fel händer.
Till exempel, låt oss säga att Windows bara använt en enda Programfil-mapp. En 32-bitars applikation kan leta efter en Microsoft Office DLL-fil som finns i C: \ Program Files \ Microsoft Office och försöker ladda den. Om du hade en 64-bitarsversion av Microsoft Office installerad, skulle programmet dock krascha och fungera inte korrekt. Med de separata mapparna kommer den här applikationen inte att kunna hitta DLL alls, eftersom 64-bitarsversionen av Microsoft Office skulle vara i C: \ Program Files \ Microsoft Office och 32-bitarsprogrammet skulle leta i C : \ Program (x86) \ Microsoft Office.
Detta hjälper också när en utvecklare skapar både 32-bitars och 64-bitars versioner av en applikation, speciellt om båda måste installeras på en gång i vissa situationer. 32-bitarsversionen installeras automatiskt till C: \ Program Files (x86), och 64-bitarsversionen installeras automatiskt till C: \ Program Files. Om Windows använde en enda mapp, måste programmets utvecklare behöva ha 64-bitars mappinstallation till en annan mapp för att hålla dem separerade. Och det skulle troligtvis inte vara någon riktig standard för var utvecklare installerade olika versioner.
Varför är 32-bitars mapp namngiven (x86)?
Du kommer inte alltid se "32-bitars" och "64-bitars". I stället ser du ibland "x86" och "x64" för att referera till dessa två olika arkitekturer. Det beror på att tidiga datorer använde Intel 8086-chipet. De ursprungliga chipsen var 16 bitar, men nyare versioner blev 32 bitar. "X86" refererar nu till 64-bitars arkitektur, oavsett om det är 16-bitars eller 32-bitars. Den nyare 64-bitars arkitekturen kallas istället "x64".
Det är vad "Programfiler (x86)" betyder. Det är mappen Programfiler för program som använder den äldre x86-CPU-arkitekturen. Observera dock att 64-bitars versioner av Windows inte kan köra 16-bitars kod.
Detta är inte normalt
Det spelar ingen roll om ett programs filer lagras i Programfiler eller Programfiler (x86). Windows installerar automatiskt program till rätt mapp, så du behöver inte tänka på det. Programmen visas i Start-menyn och fungerar normalt, oavsett var de är installerade. Både 32-bitars och 64-bitars program bör lagra dina data i mappar som AppData och ProgramData, och inte i någon Programfiler-mapp. Låt bara dina program automatiskt bestämma vilken programfiler som ska användas.
Om du använder en bärbar app kan den köras från vilken mapp som helst på ditt system, så du behöver inte oroa dig för var du ska placera dem. Vi gillar att sätta bärbara appar i Dropbox eller en annan typ av molnlagringsmapp så att de är tillgängliga på alla våra datorer.
Du behöver ibland veta var ett program är lagrat. Låt oss säga att du vill gå in i din Steam-katalog för att säkerhetskopiera vissa filer. Du hittar den i C: \ Program Files (x86), eftersom Steam är ett 32-bitarsprogram.
Om du inte är säker på om ett program du installerat är 64-bitars eller inte och du letar efter installationsmappen, kan det hända att du måste titta i båda mapparna för Programfiler för att hitta den.
Du kan också titta i Windows 10: s Task Manager.
På 64-bitarsversioner av Windows är 32-bitars program taggade med ytterligare "32-bitars" -text, vilket ger dig en indikation på att du hittar dem i C: \ Program Files (x86).