- Chris Hoffman
@chrisbhoffman
- Uppdaterad 2 oktober 2017, 13:18 EDT
Det finns en stor chans att du har både mapparna ”C:\Program Files” och ”C:\Program Files (x86)” på din Windows-dator. Om du tittar runt kommer du att se att vissa av dina program är installerade i den ena mappen och andra i den andra.
32-bitars vs. 64-bitars Windows
RELATERAT: Vad är skillnaden mellan 32-bitars och 64-bitars Windows?
Ursprungligen fanns Windows endast som ett 32-bitars operativsystem. På 32-bitarsversioner av Windows – även 32-bitarsversioner av Windows 10, som fortfarande finns tillgängliga idag – ser du endast en mapp ”C:\Program Files”.
Mappen Program Files är den rekommenderade platsen där de program du installerar bör lagra sina körbara filer, datafiler och andra filer. Programmen installeras med andra ord i mappen Program Files.
På 64-bitarsversioner av Windows installeras 64-bitars program i mappen Program Files. 64-bitarsversioner av Windows har dock även stöd för 32-bitars program, och Microsoft vill inte att 32-bitars och 64-bitars program ska blandas ihop på samma ställe. Därför installeras 32-bitarsprogrammen istället i mappen ”C:\Program Files (x86)”.
Windows kör 32-bitarsprogram på 64-bitarsversioner av Windows med hjälp av något som kallas WOW64, vilket står för ”Windows 32-bit on Windows 64-bit”.”
När du kör ett 32-bitars program på en 64-bitarsutgåva av Windows omdirigerar WOW64-emuleringslagret sömlöst filåtkomsten från ”C:\Program Files” till ”C:\Program Files (x86)”. 32-bitarsprogrammet försöker komma åt katalogen Program Files och hänvisas till mappen Program Files (x86). 64-bitarsprogrammen använder fortfarande den normala mappen Program Files.
Vad som lagras i varje mapp
Sammanfattningsvis har du på en 32-bitarsversion av Windows bara en mapp ”C:\Program Files”. Den innehåller alla dina installerade program, som alla är 32-bitar.
På en 64-bitarsversion av Windows lagras 64-bitarsprogrammen i mappen ”C:\Program Files” och 32-bitarsprogrammen i mappen ”C:\Program Files (x86)”.
Detta är anledningen till att olika program är utspridda i de två mapparna Program Files, till synes slumpmässigt. De som ligger i mappen ”C:\Program Files” är 64-bitarsprogram, medan de som ligger i mappen ”C:\Program Files (x86)” är 32-bitarsprogram.
Varför är de uppdelade?
Detta är en kompatibilitetsfunktion som är avsedd för gamla 32-bitarsprogram. Dessa 32-bitarsprogram kanske inte känner till att det ens finns en 64-bitarsversion av Windows, så Windows håller dem borta från den 64-bitarskoden.
32-bitarsprogram kan inte läsa in 64-bitarsbibliotek (DLL-filer) och kan krascha om de försöker läsa in en viss DLL-fil och hittar en 64-bitarsfil i stället för en 32-bitarsfil. Samma sak gäller för 64-bitarsprogram. Genom att hålla olika programfiler för olika CPU-arkitekturer åtskilda undviker man att sådana här fel uppstår.
Till exempel, låt oss säga att Windows bara använde en enda mapp Program Files. Ett 32-bitarsprogram kan leta efter en Microsoft Office DLL-fil som finns i C:\Program Files\Microsoft Office och försöka ladda den. Men om du har en 64-bitarsversion av Microsoft Office installerad skulle programmet krascha och inte fungera korrekt. Med de separata mapparna kommer programmet inte att kunna hitta DLL:n alls, eftersom 64-bitarsversionen av Microsoft Office finns i C:\Program Files\Microsoft Office och 32-bitarsapplikationen letar i C:\Program Files (x86)\Microsoft Office.
Det här är också till hjälp när en utvecklare skapar både 32-bitars- och 64-bitarsversioner av ett program, särskilt om båda måste installeras på samma gång i vissa situationer. 32-bitarsversionen installeras automatiskt i C:\Program Files (x86) och 64-bitarsversionen installeras automatiskt i C:\Program Files. Om Windows använde en enda mapp måste programutvecklaren låta 64-bitarsmappen installeras i en annan mapp för att hålla dem åtskilda. Och det skulle sannolikt inte finnas någon riktig standard för var utvecklare installerar olika versioner.
Varför heter 32-bitarsmappen (x86)?
Du kommer inte alltid att se ”32-bit” och ”64-bit”. Istället kommer du ibland att se ”x86” och ”x64” för att hänvisa till dessa två olika arkitekturer. Det beror på att tidiga datorer använde Intel 8086-chipet. De ursprungliga chipen var 16-bitars, men nyare versioner blev 32-bitars. ”x86” hänvisar nu till arkitekturen före 64-bitarsarkitekturen – oavsett om den är 16-bitars eller 32-bitars. Den nyare 64-bitarsarkitekturen kallas istället ”x64”.
Det är vad ”Program Files (x86)” betyder. Det är mappen Program Files för program som använder den äldre x86 CPU-arkitekturen. Observera dock att 64-bitarsversioner av Windows inte kan köra 16-bitars kod.
Det här spelar normalt ingen roll
RELATERAT: Vad är mappen AppData i Windows?
Det spelar normalt ingen roll om filerna för ett program lagras i Program Files eller Program Files (x86). Windows installerar automatiskt program i rätt mapp, så du behöver inte tänka på det. Programmen visas i startmenyn 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 mapp Program Files. Låt bara dina program automatiskt bestämma vilken Program Files-mapp de ska använda.
Om du använder ett portabelt program kan det köras från vilken mapp som helst på systemet, så du behöver inte oroa dig för var du ska lägga dem. Vi gillar att lägga portabla appar i Dropbox eller en annan typ av molnlagringsmapp så att de finns tillgängliga på alla våra datorer.
Du behöver ibland veta var ett program är lagrat. Låt oss till exempel säga att du vill gå in i din Steam-katalog för att säkerhetskopiera några 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 som du har installerat är 64-bitar eller inte och du letar efter dess installationsmapp kan du behöva leta i båda programmapparna för att hitta den.
Du kan också leta i Windows 10:s Aktivitetshanteraren.
På 64-bitarsversioner av Windows märks 32-bitars program med tilläggstexten ”(32-bit)”, vilket ger dig en indikation på att du hittar dem i C:\Program Files (x86).
Chris Hoffman är chefredaktör för How-To Geek. Han har skrivit om teknik i över tio år och var kolumnist på PCWorld i två år. Chris har skrivit för New York Times, intervjuats som teknikexpert på TV-stationer som NBC 6 i Miami och fått sitt arbete bevakat av nyhetsbyråer som BBC. Sedan 2011 har Chris skrivit över 2 000 artiklar som har lästs nästan en miljard gånger – och det är bara här på How-To Geek.Läs hela bio ”