Aký je rozdiel medzi zložkami Program Files (x86) a Program Files v systéme Windows?
Je pravdepodobné, že v počítači so systémom Windows máte súčasne priečinky "C: \ Program Files" a "C: \ Program Files (x86)". Ak sa chystáte okolo, uvidíte, že niektoré z vašich programov sú nainštalované v jednom priečinku a niektoré sú nainštalované v inom priečinku.
32-bitové verzus 64-bitové Windows
Pôvodne bol systém Windows k dispozícii iba ako 32-bitový operačný systém. V prípade 32-bitových verzií systému Windows - dokonca aj 32-bitových verziách systému Windows 10, ktoré sú stále k dispozícii ešte dnes - uvidíte iba priečinok "C: \ Program Files".
Táto zložka programových súborov je odporúčané miesto, kde by programy, ktoré inštalujete, mali ukladať ich spustiteľné, dátové a iné súbory. Inými slovami, programy sa nainštalujú do priečinka Program Files.
V 64-bitových verziách systému Windows sa do priečinka Programové súbory nainštalujú 64-bitové aplikácie. 64-bitové verzie systému Windows však tiež podporujú 32-bitové programy a spoločnosť Microsoft nechce, aby sa 32-bitový a 64-bitový softvér zmiešal na rovnakom mieste. Takže 32-bitové programy sa namiesto toho nainštalujú do priečinka "C: \ Program Files (x86)".
Systém Windows spúšťa 32-bitové aplikácie v 64-bitových verziách systému Windows pomocou niečoho nazývaného WOW64, čo znamená "Windows 32-bit na 64-bitovom systéme Windows".
Keď spustíte 32-bitový program na 64-bitovej verzii systému Windows, emulátorová vrstva WOW64 bez problémov presmeruje prístup k súborom z "C: \ Program Files" na "C: \ Program Files (x86)". program sa pokúsi získať prístup do adresára Program Files a je uvedený na priečinok Program Files (x86). 64-bitové programy stále používajú normálnu priečinok Program Files.
Čo je uložené v každej zložke
Stručne povedané, v 32-bitovej verzii systému Windows máte len priečinok "C: \ Program Files". Obsahuje všetky nainštalované programy, z ktorých všetky sú 32-bitové.
V 64-bitovej verzii systému Windows sú v priečinku C: \ Program Files uložené 64-bitové programy a 32-bitové programy sú uložené v priečinku "C: \ Program Files (x86)".
To je dôvod, prečo sú rozdielne programy rozdelené do dvoch priečinkov programových súborov, zdanlivo náhodných. Tie v priečinku "C: \ Program Files" sú 64-bitové, zatiaľ čo priečinky v priečinku "C: \ Program Files (x86)" sú 32-bitové.
Prečo sa rozdelili?
Toto je funkcia kompatibility navrhnutá pre staré 32-bitové programy. Tieto 32-bitové programy si nemusia uvedomiť, že 64-bitová verzia systému Windows existuje, takže systém Windows ich udržiava mimo tohto 64-bitového kódu.
32-bitové programy nemôžu načítať 64-bitové knižnice (súbory DLL) a mohli by zlyhať, ak sa pokúsili načítať konkrétny súbor DLL a našli 64-bitový namiesto 32-bitový. To isté platí pre 64-bitové programy. Uchovávanie rôznych programových súborov pre rôzne architektúry CPU samostatne zabraňuje vzniku takýchto chýb.
Povedzme napríklad, že systém Windows práve používal jednu zložku programových súborov. 32-bitová aplikácia môže hľadať súbor Microsoft Office DLL nájdený v C: \ Program Files \ Microsoft Office a pokúste sa ho načítať. Ak ste však mali nainštalovanú 64-bitovú verziu balíka Microsoft Office, aplikácia by zlyhala a nefungovala správne. S oddelenými priečinkami táto aplikácia nebude môcť vôbec nájsť DLL, pretože 64-bitová verzia balíka Microsoft Office by bola na adrese C: \ Program Files \ Microsoft Office a 32-bitová aplikácia by hľadala v C : \ Program Files (x86) \ Microsoft Office.
Pomáha to aj vtedy, keď vývojár vytvára 32-bitovú aj 64-bitovú verziu aplikácie, obzvlášť ak je potrebné v niektorých situáciách naraz nainštalovať súčasne. 32-bitová verzia sa automaticky nainštaluje do súborov C: \ Program Files (x86) a 64-bitová verzia sa automaticky nainštaluje do súborov C: \ Program Files. Ak systém Windows použil jednu zložku, vývojár aplikácie by musel 64-bitovú zložku nainštalovať do iného priečinka, aby sa udržal oddelený. A tam by pravdepodobne neexistoval žiadny reálny štandard pre to, kde vývojári inštalovali rôzne verzie.
Prečo je pomenovaná 32-bitová zložka (x86)?
Nebudete vždy vidieť "32-bitové" a "64-bitové". Namiesto toho občas uvidíte "x86" a "x64", aby ste odkazovali na tieto dve rôzne architektúry. Je to preto, že skoré počítače používali čip Intel 8086. Originálne čipy boli 16-bitové, ale novšie verzie sa stali 32-bitovými. "X86" teraz odkazuje na 64-bitovú architektúru, či už 16 bitovú alebo 32 bitovú. Nová 64-bitová architektúra sa namiesto toho nazýva "x64".
To znamená "Programové súbory (x86)". Je to priečinok Program Files pre programy používajúce staršiu architektúru x86 CPU. Stačí však poznamenať, že 64-bitové verzie systému Windows nemôžu spúšťať 16-bitový kód.
To normálne nezáleží
Nezáleží na tom, či sú súbory programu uložené v programových súboroch alebo programových súboroch (x86). Systém Windows automaticky nainštaluje programy do správneho priečinka, takže nemusíte o tom premýšľať. Programy sa zobrazujú v ponuke Štart a fungujú normálne bez ohľadu na to, kde sú nainštalované. Obe 32-bitové aj 64-bitové programy by mali ukladať vaše dáta do priečinkov ako AppData a ProgramData a nie do žiadneho priečinka Program Files. Stačí nechať vaše programy automaticky rozhodnúť, ktorú priečinok programových súborov chcete použiť.
Ak používate prenosnú aplikáciu, môžete ju spustiť z ľubovoľného priečinka vo vašom systéme, takže sa nemusíte obávať, kam ju umiestniť. Páči sa nám, že prenosné aplikácie sa nachádzajú v Dropbox alebo v inom type priečinka na ukladanie cloud, takže sú k dispozícii na všetkých našich počítačoch.
Občas budete musieť vedieť, kde je uložený program. Povedzme napríklad, že chcete vložiť do adresára Steam zálohovanie niektorých súborov. Nájdete ho v C: \ Program Files (x86), pretože Steam je 32-bitový program.
Ak si nie ste istí, či je nainštalovaný program 64-bitový alebo nie, a hľadáte jeho inštalačný priečinok, možno budete musieť vyhľadať v oboch programových priečinkoch.
Môžete sa tiež pozrieť v Správcovi úloh systému Windows 10.
V 64-bitových verziách systému Windows sú 32-bitové programy označené dodatočným textom "(32-bitových)", ktorý vám ukáže, že ich nájdete v C: \ Program Files (x86).