Jaký je rozdíl mezi složkami Program Files (x86) a Program Files ve Windows?
Je pravděpodobné, že v počítači se systémem Windows máte složku "C: \ Program Files" a "C: \ Program Files (x86)". Pokud se hýbete, zjistíte, že některé programy jsou nainstalovány v jedné složce a některé jsou instalovány v jiné složce.
32bitové versus 64bitové Windows
Původně byl systém Windows dostupný pouze jako 32bitový operační systém. U 32bitových verzí systému Windows - dokonce i 32bitových verzí systému Windows 10, které jsou ještě dnes k dispozici - uvidíte pouze složku "C: \ Program Files".
Tato složka Program Files je doporučené umístění, kde instalované programy mají ukládat své spustitelné soubory, data a další soubory. Jinými slovy, programy se nainstalují do složky Program Files.
V 64bitových verzích systému Windows se 64bitové aplikace instalují do složky Program Files. 64bitové verze systému Windows však také podporují 32bitové programy a společnost Microsoft nechce, aby se 32bitový a 64bitový software dostal na stejné místo. Takže 32bitové programy se nainstalují do složky "C: \ Program Files (x86)".
Systém Windows spouští 32bitové aplikace v 64bitových verzích systému Windows pomocí něčeho nazývaného WOW64, což znamená "32bitový systém Windows na 64bitovém systému Windows".
Při spuštění 32bitového programu na 64bitové edici systému Windows hladká emulační vrstva WOW64 hladce přesměruje přístup k souborům z "C: \ Program Files" na "C: \ Program Files (x86)". 32bitový program se pokusí otevřít adresář Program Files a je uveden na složku Program Files (x86). 64bitové programy stále používají normální složku Program Files.
Co je uloženo v každé složce
Stručně řečeno, v 32bitové verzi systému Windows máte pouze složku "C: \ Program Files". Obsahuje všechny nainstalované programy, z nichž všechny jsou 32bitové.
V 64bitové verzi systému Windows jsou ve složce "C: \ Program Files" uloženy 64bitové programy a 32bitové programy jsou uloženy v adresáři "C: \ Program Files (x86)".
To je důvod, proč jsou různé programy rozloženy mezi dvě složky Program Files, zdánlivě náhodně. Ty ve složce "C: \ Program Files" jsou 64bitové, zatímco složky ve složce "C: \ Program Files (x86)" jsou 32bitové.
Proč se rozdělí?
Jedná se o funkci kompatibility určenou pro staré 32bitové programy. Tyto 32bitové programy si nemusí být vědomy, že existuje 64bitová verze systému Windows, takže je systém Windows uchovává pryč od tohoto 64bitového kódu.
32bitové programy nemohou načíst 64bitové knihovny (soubory DLL) a mohly by dojít k selhání, pokud se pokoušejí načíst určitý soubor DLL a najít 64bitové místo 32bitové. Totéž platí pro 64bitové programy. Udržování různých programových souborů pro různé architektury CPU samostatně zabraňuje vzniku chyb.
Například řekněme, že Windows právě používal jednu složku Program Files. 32bitová aplikace může hledat soubor DLL systému Microsoft Office nalezený v C: \ Program Files \ Microsoft Office a pokusit se jej načíst. Pokud jste však nainstalovali 64bitovou verzi sady Microsoft Office, aplikace by selhala a nefungovala správně. Se samostatnými složkami nebude tato aplikace vůbec nalezena, protože 64bitová verze sady Microsoft Office by byla v C: \ Program Files \ Microsoft Office a 32bitová aplikace by hledala v C : \ Program Files (x86) \ Microsoft Office.
To také pomáhá, když vývojář vytvoří jak 32bitovou, tak i 64bitovou verzi aplikace, obzvlášť pokud je v některých situacích nutno nainstalovat obojí. 32bitová verze se automaticky nainstaluje do C: \ Program Files (x86) a 64bitová verze se automaticky nainstaluje do C: \ Program Files. Pokud systém Windows použije jednu složku, vývojář aplikace by musel mít 64bitovou složku nainstalovanou do jiné složky, aby ji oddělil. A tam by pravděpodobně neexistoval žádný skutečný standard, kde vývojáři nainstalovali různé verze.
Proč je pojmenována 32bitová složka (x86)?
Nebudete vždy vidět "32bitové" a "64bitové". Místo toho někdy uvidíte "x86" a "x64" odkazovat na tyto dvě různé architektury. To proto, že časné počítače používaly čip Intel 8086. Původní čipy byly 16bitové, ale novější verze se staly 32bitovými. "X86" nyní odkazuje na předběžnou 64bitovou architekturu - ať už je to 16bitová nebo 32bitová. Novější 64bitová architektura je místo toho označována jako "x64".
To znamená "Program Files (x86)". Je to složka Program Files pro programy používající starší architekturu procesoru x86. Stačí však upozornit, že 64bitové verze systému Windows nemohou spustit 16bitový kód.
To normálně nezáleží
Nezáleží na tom, zda jsou soubory programu uloženy v programových souborech nebo programových souborech (x86). Systém Windows automaticky nainstaluje programy do správné složky, takže o tom nemusíte přemýšlet. Programy se objeví v nabídce Start a fungují normálně bez ohledu na to, kde jsou nainstalovány. Obě 32bitové a 64bitové programy by měly ukládat data do složek, jako jsou aplikace AppData a ProgramData, a nikoli do žádné složky Program Files. Stačí nechat vaše programy automaticky rozhodnout, které složky Program Files použít.
Pokud používáte přenosnou aplikaci, může být spuštěna z libovolné složky ve vašem systému, takže se nemusíte starat o to, kam je dát. Máme rádi uvedení přenosných aplikací do Dropboxu nebo do jiného typu úložiště cloudu, takže jsou k dispozici na všech našich počítačích.
Občas budete potřebovat vědět, kde je program uložen. Řekněme například, že chcete přidat do adresáře Steam zálohování některých souborů. Najdete jej v C: \ Program Files (x86), protože Steam je 32bitový program.
Pokud si nejste jisti, zda nainstalovaný program je 64bitový nebo ne, a hledáte jeho instalační složku, bude pravděpodobně třeba hledat v obou složkách Program Files, abyste jej našli.
Můžete se také podívat do Správce úloh systému Windows 10.
V 64bitových verzích systému Windows jsou 32bitové programy označeny dodatečným textem (32bitové), což znamená, že je najdete v C: \ Program Files (x86).