64-bitars Windows:
Mapparna 'Program (x86)' och 'SysWOW64' förklaras



Om du har en 64-bitars dator med 64-bitars Windows installerad, eller har kikat i en sådan dator, så har du kanske upptäckt att där finns två extra mappar med namnen Program (x86) och SysWOW64 som saknas i 32-bitars Windows. Kanske har du undrat varför dessa mappar finns, vad de innehåller och varför det både finns en mapp som heter Program och Program (x86) i en 64-bitars Windows? Vi ska i denna artikel ge svar på dessa frågor samt förklara vikten av att placera filer med en viss bitstorlek (32 eller 64 bitar) i rätt mapp.


32-bitars vs 64-bitars datorer och Windows
 
Sedan mitten på 90-talet, och fram till för några år sedan, så var nästan alla datorer som såldes 32-bitars datorer med 32-bitars Windows installerade. Men i samband med att Windows 7 släpptes så tog försäljningen av 64-bitars datorer med 64-bitars Windows fart, och under de kommande åren så kommer användandet av 64-bitars datorer/Windows att öka kraftigt i takt med att äldre 32-bitars datorer ersätts. Idag tillverkas knappt 32-bitars datorer längre så när en användare ska ersätta sin dator så kommer han/hon med en väldigt stor sannolikhet att skaffa en 64-bitars dator.
 
En stor fördel med 64-bitars dator jämfört med 32-bitars datorer är att de kan hantera mycket mer minne. Medan den största minnestorleken som kan användas i en 32-bitars dator är 4 GB (i praktiken dock bara lite över 3 GB eftersom delar av adressutrymmet ofta användes till annat) så är den största minnesstorleken som kan användas av en 64-bitars dator med 64-bitars Windows 7 hela 192 GB!


I en 64-bitars Windows kan även 32-bitars program köras
 
I en 64-bitars Windows kan både 32- och 64-bitars program köras. När ett 32-bitars program körs i en 64-bitars Windows så kommer systemet att uppföra sig som en 32-bitars Windows för programmet. Programmet kommer att ha svårt att avgöra om det körs i 32-bitars Windows eller 64-bitars Windows, så bra är 32-bitars emuleringen. Det finns dock funktioner i Windows som programmet kan anropa om den måste veta skillnaden.
 
Men det finns en känslig fas när det gäller 32-bitars program i 64-bitars Windows och det är är installationsfasen. Det finns speciella mappar på hårddisken som är avsedda för 32-bitars binära filer och det är viktigt att installations-programmet installerar filer med en specifik bitstorlek i rätt mapp. Vissa mappar ska användas för 64-bitars binära filer och andra mappar ska användas för 32-bitars binära filer. Placerar man en fil som är kompilerad med en viss bitstorlek i fel mapp (t ex en 32-bitars fil i en 64-bitars mapp) så är risken stor att programmet inte kommer att fungera. Med binära filer syftas här på programfiler, DLL-filer mm.


Två olika versioner av Program-mappen och Windows systemmapp
 
I en 64-bitars Windows finns det två olika versioner av Program-mappen och Windows systemmapp (systemkatalog). En version är avsedd för 32-bitars filer och en annan version är avsedd för 64-bitars filer. Vad dessa mappar heter, och för vilka bitstorlekar de är avsedda för, visas i tabellen nedan:
 
Mappnamn Svenskt mappnamn Bitstorlek Beskrivning
System32 System32 64 Systemmapp (systemkatalog) för 64-bitars filer
SysWOW64 SysWOW64 32 Systemmapp (systemkatalog) för 32-bitars filer
Program Files Program 64 Program-mapp för 64-bitars filer
Program Files (x86) Program (x86) 32 Program-mapp för 32-bitars filer
 
Här nedan visas den fullständiga sökvägen till de olika mapparna.
 
Mappnamn Sökväg till mapp Beskrivning
System32 C:\Windows\System32 Systemmapp (systemkatalog) för 64-bitars filer
SysWOW64 C:\Windows\SysWOW64 Systemmapp (systemkatalog) för 32-bitars filer
Program Files C:\Program Files Program-mapp för 64-bitars filer
Program Files (x86) C:\Program Files (x86) Program-mapp för 32-bitars filer
 
Mapparna Program Files och Program Files (X86) i tabellerna ovan är de engelska originalnamnen och används alltid av Windows under ytan. Mapparna Program och Program (X86) är till svenska översatta mappnamn och visas exempelvis i Utforskaren i Windows. För ett program redovisas i regel enbart de engelska originalnamnen.


'System32' är avsedd för 64-bitars filer och 'SysWOW64' för 32-bitars filer
 
Detta kan göra många konfunderade. Man kan ju tro att mappen System32 är avsedd för 32-bitars filer och mappen SysWOW64 för 64-bitars filer, men i själva verket är det precis tvärtom. System32 är avsedd för 64-bitars filer och SysWOW64 är avsedd för 32-bitars filer! Orsaken till denna märklighet har med kompatibilitet att göra. När man skapade de första 64-bitars systemen så vi ville man ha 64 bitars mappsökvägar som var helt bakåtkompatibla med mappsökvägarna i 32 bitars system. Så även om ett program använder en "hårdkodad" sökväg till Windows systemkatalog (t ex C:\Windows\System32) så ska programmet ändå fungera efter konvertering till 64-bitars kod. Därav denna lösning. Så kom ihåg:
 
mappen SysWOW64 är avsedd för 32-bitars filer
mappen System32 är avsedd för 64-bitars filer
 
Det är väldigt viktigt att en fil kompilerad med en viss bitstorlek placeras i rätt systemmapp. Annars kommer inte det program som behöver denna fil att kunna ladda in filen, och med stor sannolikhet inte heller att fungera.


Mapparna 'Program' och 'Program (x86)'
 
I en 64-bitars Windows finns det alltid två Program-mappar: Program och Program (x86) (eller Program Files och Program (x86) Files med dess engelska originalnamn). Mappen Program används för 64-bitars program och mappen Program (x86) används för 32-bitars program. I vissa fall kommer programmet att gå igång även om det placeras i fel mapp, men många program kommer att leta efter relaterade filer i fel mapp och inte fungera som det ska. För att inte riskera att det blir problem bör du alltid installera enligt följande:
 
installera alltid 32-bitars program till mappen Program (x86)
installera alltid 64-bitars program till mappen Program
 
Många installatonsprogram föreslår automatiskt rätt version av program-mappen och normalt behöver man inte ändra på sökvägen, men du bör vara uppmärksam på att om du själv skickar ut installationsprogram till andra att vissa användare av gammal vana vill fortsätta använda mappen Program (de känner inte till skillnaden som förklarats här) och att programmet då kan installeras i fel mapp om inte installationsprogrammet har en spärr mot detta.
 
 
Uttrycken 'WOW64' och 'x86', vad står de för?
 
Mapparna SysWOW64 och Program (x86) är speciella mappar som enbart finns i 64-bitars Windows och är avsedda för lagring av 32-bitars filer. I mapparnas namn ingår de något kryptiska bokstavskombinationerna WOW64 och x86. Dessa bokstavskombinationer har en betydelse och vi ska kortfattat förklara vad de står för här nedan:
 
WOW64 är en förkortning för ”Windows on Windows 64-bit” (kan läsas som "Windows 32-bit on Windows 64-bit"). Med det menas en teknik där 32-bitars Windows-program kan köras på en 64-bitars Windows.
 
x86 är namnet på en processorarkitektur från Intel som hanterar 32 bitars instruktionsuppsättningar. Namnet x86 kommer av att Intel i början döpte sina processorer till 8086, 80186, 80286, 80386 osv och x86 blev ett samlingsnamn för dessa processorer. Från och med 80386, den första rena 32-bitars processorn, blev x86 synonymt med 32-bitarsarkitektur.
 


Mer information
 
Det finns även andra mappar i en 64-bitars Windows, än de ovan nämnda, som finns i både en 32- och 64-bitars variant. Även delar av Windows registerdatabas (Registry) finns i två olika upplagor och vilken del man använder beror på vilken bitstorlek som programmet är kompilerad i. Mer information om allt detta, liksom de mappar som artikeln handlat om, finns i detta utförliga dokument från Microsoft:
 
Best Practices for WOW64
  
  
Vill du ha fler tips?
 
Om du vill ha fler liknande tips så kan du följa oss på Facebook eller Twitter. Du kan även prenumerera på vårt nyhetsbrev eller läsa vår blogg. Du hittar fler artiklar på denna sida.
Besök vår Facebook-sida Följ oss på Twitter Besök vår videokanal på YouTube
 
  
Relaterad produktinformation:
SamLogic Visual Installer  -  skapar installationer för både 32- och 64-bitars Windows

 
 
SamLogic
Skriven av: Mika Larramo Español   English