If-Koubou

Koja je razlika između mapa "Program Files (x86)" i "Program Files" u sustavu Windows?

Koja je razlika između mapa "Program Files (x86)" i "Program Files" u sustavu Windows? (Kako da)

Postoji dobra šansa da imate mape "C: \ Program Files" i "C: \ Program Files (x86)" na vašem Windows računalu. Ako se probijete, vidjet ćete da su neki od vaših programa instalirani u jednoj mapi, a neki su instalirani u drugoj.

32-bitni ili 64-bitni sustav Windows

Izvorno, Windows je dostupan samo kao 32-bitni operacijski sustav. Na 32-bitnim verzijama sustava Windows - č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 gdje programi koje instalirate trebaju pohraniti svoje izvršne, podatkovne 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 da se 32- bitni i 64-bitni softver pomiješaju na istom mjestu. Dakle, 32-bitni programi se instaliraju na mapu "C: \ Program Files (x86)" umjesto toga.

Windows pokreće 32-bitne aplikacije na 64-bitnim verzijama sustava Windows pomoću nečega nazvane WOW64, što znači "Windows 32-bitni na 64-bitnom sustavu Windows".

Kada pokrenete 32-bitni program na 64-bitnom izdanju sustava Windows, WOLF emulacijski sloj neprimjetno preusmjerava pristup datotekama iz "C: \ Program Files" na "C: \ Program Files (x86)". 32-bitni program pokušava pristupiti direktoriju Programskih datoteka i ukazuje na mapu Program Files (x86). 64-bitni programi još uvijek koriste normalnu mapu Program Files.

Što je pohranjeno u svakoj mapi

Ukratko, na 32-bitnoj verziji sustava Windows, imate samo mapu "C: \ Program Files". To sadrži sve instalirane programe, od kojih su sve 32-bitne.

Na 64-bitnoj verziji sustava Windows, 64-bitni programi pohranjeni su u mapi "C: \ Program Files", a 32-bitni programi pohranjeni su u mapi "C: \ Program Files (x86)".

Zbog toga se različiti programi šire preko mapa s programskim datotekama, naizgled nasumce. One u mapi "C: \ Program Files" su 64-bitne, a one u mapi "C: \ Program Files (x86)" su 32-bitne.

Zašto se dijele?

Ovo je značajka kompatibilnosti namijenjena starim 32-bitnim programima. Ovi 32-bitni programi možda neće biti svjesni da 64-bitna verzija sustava Windows čak postoji i Windows ih drži dalje od tog 64-bitnog koda.

32-bitni programi ne mogu učitati 64-bitne biblioteke (DLL datoteke) i mogli bi se srušiti ako bi pokušali učitati određenu DLL datoteku i pronašli 64-bitni umjesto 32-bitni. Isto vrijedi i za 64-bitne programe. Držanje različitih programskih datoteka za različite CPU arhitekture odvojene sprječava pogreške poput ovih iz događa.

Na primjer, recimo da je Windows upravo upotrijebio jednu mapu Program datoteka. 32-bitna aplikacija može ići tražiti Microsoft Office DLL datoteku pronađeno u C: \ Program Files \ Microsoft Office i pokušati je učitati. Međutim, ako ste instalirali 64-bitnu verziju sustava Microsoft Office, aplikacija će se srušiti i neće ispravno funkcionirati. Uz zasebne mape, ta aplikacija uopće neće moći pronaći DLL, jer će 64-bitna verzija sustava Microsoft Office biti na C: \ Program Files \ Microsoft Office i 32-bitna aplikacija će izgledati u C : \ Program Files (x86) \ Microsoft Office.

To također pomaže kada programer stvara i 32-bitnu i 64-bitnu verziju aplikacije, pogotovo ako se oboje moraju instalirati odjednom u nekim situacijama. 32-bitna inačica automatski se instalira na C: \ Program Files (x86), a 64-bitna verzija automatski se instalira u C: \ Program Files. Ako je sustav Windows koristio jednu mapu, programer aplikacije morat će instalirati 64-bitnu mapu u drugu mapu kako bi bila zasebna. I vjerojatno neće postojati pravi standard za razvojni programer za instalaciju različitih verzija.

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" da se odnose na ove dvije različite arhitekture. To je zato što su rani računi koristili Intel 8086 čip. Izvorni čipovi bili su 16-bitni, ali novije inačice postale su 32-bitne. "X86" se sada odnosi na pred-64-bitnu arhitekturu - bilo da se radi o 16-bitnom ili 32-bitnom. Umjesto toga, noviju 64-bitnu arhitekturu naziva se "x64".

To znači ono što znači "Programske datoteke (x86)". To je mapa Program Files za programe koji koriste stariju arhitekturu x86 CPU-a. Napominjemo, međutim, da 64-bitne verzije sustava Windows ne mogu pokrenuti 16-bitni kod.

To se obično ne tiče

Nije normalno da li su 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. Obje 32-bitne i 64-bitne programe trebaju pohraniti vaše podatke u mape poput AppData i ProgramData, a ne u mapi Program Files. Dopustite svojim programima da automatski odlučuju koja mapa programskih datoteka želite koristiti.

Ako upotrebljavate prijenosnu aplikaciju, može se pokrenuti iz bilo koje mape na vašem sustavu, tako da ne morate brinuti gdje da ih stavite. Sviđa nam se stavljanje prijenosnih aplikacija u Dropbox ili neku drugu vrstu mape za pohranu oblaka tako da su dostupni na svim našim računalima.

Ponekad ćete morati znati gdje se program pohranjuje. Na primjer, recimo da želite ući u vaš Steam direktorij za sigurnosno kopiranje 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 bit ili ne i tražite njegovu mapu za instalaciju, možda ćete morati pogledati mape programa Program Files da biste je pronašli.

Također možete pogledati u Task Manageru sustava Windows 10.

Na 64-bitnim verzijama sustava Windows 32-bitni programi označeni su dodatnim tekstom "(32-bit)", što vam daje znak da ćete ih pronaći u C: \ Program Files (x86).