Koja je razlika između mapa Programske datoteke (x86) i Programske datoteke u sustavu Windows?
Imate dobre šanse da imate mape "C: Program Files" i "C: Program Files (x86)" na Windows računalu. Ako probušite, vidjet ćete da su neki od vaših programa instalirani u jednu mapu, a neki su instalirani u drugoj mapi.
32-bitni u odnosu na 64-bitni sustav Windows
Izvorno je sustav Windows bio dostupan samo kao 32-bitni operacijski sustav. Na 32-bitnim verzijama Windows-a, čak i 32-bitne verzije sustava Windows 10, koje su još uvijek dostupne danas, vidjet ćete samo mapu "C: Program Files".
Ova mapa Program Files je preporučena lokacija na kojoj programi koje instalirate trebaju pohraniti svoje izvršne datoteke, podatke i druge datoteke. Drugim riječima, programi se instaliraju u mapu Program Files.
Na 64-bitnim verzijama sustava Windows 64-bitne aplikacije instaliraju se u mapu Program Files. Međutim, 64-bitne verzije sustava Windows također podržavaju 32-bitne programe, a Microsoft ne želi miješati 32-bitni i 64-bitni softver na istom mjestu. Tako se 32-bitni programi instaliraju u mapu “C: Program Files (x86)”.
Windows pokreće 32-bitne aplikacije na 64-bitnim verzijama sustava Windows koristeći nešto što se zove WOW64, što znači "Windows 32-bit na Windows 64-bitnom".
Kada pokrenete 32-bitni program na 64-bitnom izdanju sustava Windows, sloj emulacije WOW64 neprimjetno preusmjerava svoj pristup datotekama s "C: Programskih datoteka" na "C: Programske datoteke (x86)". 32-bitni Program pokušava pristupiti direktorijumu Program Files i pokazuje na mapu Program Files (x86). 64-bitni programi i dalje koriste uobičajenu mapu Program Files.
Što je pohranjeno u svakoj mapi
Ukratko, na 32-bitnoj verziji sustava Windows imate samo mapu "C: Program Files". Ona sadrži sve instalirane programe, od kojih su svi 32-bitni.
Na 64-bitnoj verziji sustava Windows 64-bitni programi pohranjeni su u mapi "C: Programske datoteke", a 32-bitni programi pohranjeni su u mapi "C: Programske datoteke (x86)".
Zato su različiti programi raspoređeni u dvije mape Program Files, naizgled nasumce. One u mapi "C: Programske datoteke" su 64-bitne, dok su one u mapi "C: Programske datoteke (x86)" 32-bitne..
Zašto se razdvajaju?
To je značajka kompatibilnosti dizajnirana za stare 32-bitne programe. Ti 32-bitni programi možda nisu svjesni postojanja 64-bitne verzije sustava Windows, tako da ih Windows drži podalje od tog 64-bitnog koda.
32-bitni programi ne mogu učitati 64-bitne knjižnice (DLL datoteke) i mogu se srušiti ako pokušaju učitati određenu DLL datoteku i pronašle 64-bitnu umjesto 32-bitne. Isto vrijedi i za 64-bitne programe. Odvajanje različitih programskih datoteka za različite CPU arhitekture sprečava pojavu pogrešaka poput ovih.
Na primjer, recimo da je Windows koristio samo jednu mapu Programske datoteke. 32-bitna aplikacija može tražiti datoteku DLL-a sustava Microsoft Office pronađenu u programu C: Program Files Microsoft Office i pokušati je učitati. Međutim, ako ste instalirali 64-bitnu verziju sustava Microsoft Office, aplikacija bi se srušila i ne bi ispravno funkcionirala. S odvojenim mapama ta aplikacija uopće neće moći pronaći DLL jer bi 64-bitna verzija sustava Microsoft Office bila u programu C: Program Files Microsoft Office i 32-bitna aplikacija tražili bi u C Programske datoteke (x86) Microsoft Office.
To također pomaže kada programer stvara i 32-bitnu i 64-bitnu verziju aplikacije, osobito ako se u nekim situacijama moraju istovremeno instalirati. 32-bitna verzija automatski se instalira u C: Programske datoteke (x86), a 64-bitna verzija se automatski instalira u C: Programske datoteke. Ako je Windows koristio jednu mapu, programer aplikacije morao bi imati instaliranu 64-bitnu mapu u drugu mapu kako bi ih razdvojili. I vjerojatno ne bi bilo pravog standarda u kojem bi programeri instalirali različite verzije.
Zašto je 32-bitna mapa imenovana (x86)?
Nećete uvijek vidjeti "32-bitni" i "64-bitni". Umjesto toga, ponekad ćete vidjeti "x86" i "x64" za ove dvije različite arhitekture. To je zato što su rana računala koristila Intel 8086 čip. Izvorni čipovi su 16-bitni, ali novije verzije postaju 32-bitne. "X86" se sada odnosi na pre-64-bitnu arhitekturu - bilo da je to 16-bitna ili 32-bitna. Umjesto toga, 64-bitna arhitektura naziva se "x64".
To znači "Program Files (x86)". To je mapa Program Files za programe koji koriste stariju arhitekturu procesora x86. Međutim, imajte na umu da 64-bitne verzije sustava Windows ne mogu pokrenuti 16-bitni kod.
To obično nije bitno
Obično nije važno jesu li datoteke programa pohranjene u programskim datotekama ili programskim datotekama (x86). Windows automatski instalira programe u ispravnu mapu, tako da ne morate razmišljati o tome. Programi se pojavljuju u izborniku Start i funkcioniraju normalno, bez obzira na to gdje su instalirani. I 32-bitni i 64-bitni programi trebali bi pohranjivati vaše podatke u mape kao što su AppData i ProgramData, a ne u bilo koju mapu Program Files. Samo dopustite programima da automatski odluče koju ćete mapu programskih datoteka koristiti.
Ako koristite prijenosnu aplikaciju, ona se može pokrenuti iz bilo koje mape na vašem sustavu, tako da ne morate brinuti o tome gdje ćete ih staviti. Volimo staviti prijenosne aplikacije u Dropbox ili neku drugu mapu za pohranu u oblaku kako bi bile dostupne na svim našim računalima.
Ponekad ćete morati znati gdje je pohranjen program. Na primjer, recimo da želite otići u svoj Steam direktorij za izradu sigurnosnih kopija nekih datoteka. Pronaći ćete ga u C: Program Files (x86), jer je Steam 32-bitni program.
Ako niste sigurni je li program koji ste instalirali 64-bitni ili ne i tražite njegovu instalacijsku mapu, možda ćete morati potražiti u oba programska mapa kako biste ga pronašli.
Također možete pogledati u Windows 10 Task Manager.
Na 64-bitnim verzijama sustava Windows 32-bitni programi označeni su dodatnim "(32-bitnim) tekstom, što vam daje naznaku da ćete ih pronaći u C: Programske datoteke (x86).