Jaka jest różnica między folderami „Program Files (x86)” i „Program Files” w systemie Windows?

  • Chris Hoffman

    @chrisbhoffman

  • Updated October 2, 2017, 1:18pm EDT

Jest duża szansa, że masz oba foldery „C:\Program Files” i „C:\Program Files (x86)” na swoim komputerze z systemem Windows. Jeśli się rozejrzysz, zobaczysz, że niektóre programy są zainstalowane w jednym folderze, a niektóre w drugim.

32-bitowy a 64-bitowy system Windows

RELATED: What’s the Difference Between 32-bit and 64-bit Windows?

Początkowo system Windows był dostępny tylko jako 32-bitowy system operacyjny. W 32-bitowych wersjach systemu Windows – nawet w 32-bitowych wersjach systemu Windows 10, które są dostępne do dziś – widoczny jest tylko folder „C:™Program Files”.

Ten folder Program Files jest zalecaną lokalizacją, w której instalowane programy powinny przechowywać swoje pliki wykonywalne, dane i inne pliki. Innymi słowy, programy instalują się w folderze Program Files.

Reklama

W 64-bitowych wersjach systemu Windows aplikacje 64-bitowe instalują się w folderze Program Files. Jednak 64-bitowe wersje systemu Windows obsługują również programy 32-bitowe, a firma Microsoft nie chce, aby programy 32-bitowe i 64-bitowe były mieszane w tym samym miejscu. Dlatego programy 32-bitowe są instalowane w folderze „C:™Program Files (x86)”, zamiast tego.

Windows uruchamia aplikacje 32-bitowe na 64-bitowych wersjach systemu Windows za pomocą czegoś, co nazywa się WOW64, co jest skrótem od „Windows 32-bit na Windows 64-bit.”

Gdy uruchamiasz 32-bitowy program na 64-bitowej edycji systemu Windows, warstwa emulacji WOW64 bezproblemowo przekierowuje jego dostęp do plików z „C:\Program Files” do „C:\Program Files (x86)”. Program 32-bitowy próbuje uzyskać dostęp do katalogu Program Files i zostaje skierowany do folderu Program Files (x86). Programy 64-bitowe nadal używają normalnego folderu Program Files.

What’s Stored In Each Folder

Podsumowując, w 32-bitowej wersji systemu Windows masz tylko folder „C:\Program Files”. Zawiera on wszystkie zainstalowane programy, z których wszystkie są 32-bitowe.

Reklama

W 64-bitowej wersji systemu Windows programy 64-bitowe są przechowywane w folderze „C:\Program Files”, a programy 32-bitowe w folderze „C:\Program Files (x86)”.

Dlatego różne programy są rozmieszczone w dwóch folderach Program Files, pozornie losowo. Te w folderze „C:™Program Files” są 64-bitowe, podczas gdy te w folderze „C:™Program Files (x86)” są 32-bitowe.

Dlaczego są podzielone?

Jest to funkcja kompatybilności zaprojektowana dla starych programów 32-bitowych. Te 32-bitowe programy mogą nie wiedzieć, że 64-bitowa wersja systemu Windows w ogóle istnieje, więc system Windows trzyma je z dala od tego 64-bitowego kodu.

32-bitowe programy nie mogą ładować 64-bitowych bibliotek (plików DLL) i mogłyby ulec awarii, gdyby próbowały załadować określony plik DLL i znalazły 64-bitowy zamiast 32-bitowego. To samo dotyczy programów 64-bitowych. Utrzymywanie różnych plików programów dla różnych architektur procesora oddzielnie zapobiega występowaniu takich błędów.

Reklama

Na przykład, powiedzmy, że system Windows używał tylko jednego folderu Program Files. 32-bitowa aplikacja może szukać pliku Microsoft Office DLL znajdującego się w folderze C:™Program Files™Microsoft Office i próbować go załadować. Jeśli jednak zainstalowano 64-bitową wersję pakietu Microsoft Office, aplikacja ulegałaby awarii i nie działała prawidłowo. Dzięki oddzielnym folderom ta aplikacja w ogóle nie będzie w stanie znaleźć biblioteki DLL, ponieważ 64-bitowa wersja pakietu Microsoft Office będzie znajdować się w folderze C:™Program Files™Microsoft Office, a aplikacja 32-bitowa będzie szukać w folderze C:™Program Files (x86)™Microsoft Office.

Jest to również pomocne, gdy programista tworzy zarówno 32-bitową, jak i 64-bitową wersję aplikacji, zwłaszcza jeśli w niektórych sytuacjach obie muszą być zainstalowane jednocześnie. Wersja 32-bitowa automatycznie instaluje się w folderze C:™Program Files (x86), a wersja 64-bitowa automatycznie instaluje się w folderze C:™Program Files. Gdyby system Windows korzystał z jednego folderu, twórca aplikacji musiałby zlecić instalację 64-bitowego folderu w innym folderze, aby je od siebie oddzielić. I prawdopodobnie nie byłoby prawdziwego standardu określającego, gdzie programiści instalują różne wersje.

Dlaczego folder 32-bitowy nosi nazwę (x86)?

Nie zawsze zobaczysz nazwy „32-bitowy” i „64-bitowy”. Zamiast tego czasami zobaczysz „x86” i „x64” w odniesieniu do tych dwóch różnych architektur. Jest to spowodowane tym, że wczesne komputery używały układu Intel 8086. Oryginalne chipy były 16-bitowe, ale nowsze wersje stały się 32-bitowe. Termin „x86” odnosi się teraz do architektury sprzed 64-bitów – niezależnie od tego, czy jest to architektura 16-bitowa czy 32-bitowa. Nowsza architektura 64-bitowa jest określana jako „x64” zamiast tego.

To właśnie oznacza „Program Files (x86)”. Jest to folder Program Files dla programów używających starszej architektury procesora x86. Należy jednak pamiętać, że 64-bitowe wersje systemu Windows nie mogą uruchamiać kodu 16-bitowego.

This Doesn’t Normally Matter

RELATED: What Is the AppData Folder in Windows?

Normalnie nie ma znaczenia, czy pliki programu są przechowywane w folderze Program Files czy Program Files (x86). System Windows automatycznie instaluje programy we właściwym folderze, więc nie musisz się nad tym zastanawiać. Programy pojawiają się w menu Start i działają normalnie, niezależnie od tego, gdzie są zainstalowane. Zarówno programy 32-bitowe, jak i 64-bitowe powinny przechowywać dane w folderach AppData i ProgramData, a nie w folderze Program Files. Po prostu pozwól swoim programom automatycznie zdecydować, którego folderu Program Files użyć.

Reklama

Jeśli używasz aplikacji przenośnej, może ona działać z dowolnego folderu w systemie, więc nie musisz się martwić o to, gdzie ją umieścić. My lubimy umieszczać aplikacje przenośne w folderze Dropbox lub innym folderze przechowywania w chmurze, aby były dostępne na wszystkich naszych komputerach.

Czasami trzeba wiedzieć, gdzie jest przechowywany program. Na przykład, załóżmy, że chcesz wejść do swojego katalogu Steam, aby zrobić kopię zapasową niektórych plików. Znajdziesz go w folderze C:™Program Files (x86), ponieważ Steam jest programem 32-bitowym.

Jeśli nie jesteś pewien, czy zainstalowany program jest 64-bitowy, czy nie, i szukasz jego folderu instalacyjnego, być może będziesz musiał zajrzeć do obu folderów Program Files, aby go znaleźć.

Możesz też zajrzeć do Menedżera zadań systemu Windows 10.

Reklama

W 64-bitowych wersjach systemu Windows programy 32-bitowe są oznaczone dodatkowym tekstem „(32-bit)”, co daje wskazówkę, że znajdziesz je w folderze C:\Program Files (x86).

Chris Hoffman
Chris Hoffman jest redaktorem naczelnym serwisu How-To Geek. Pisze o technologii od ponad dekady i przez dwa lata był felietonistą PCWorld. Chris pisał dla The New York Times, udzielał wywiadów jako ekspert technologiczny w stacjach telewizyjnych takich jak NBC 6 w Miami, a jego prace były relacjonowane przez takie stacje jak BBC. Od 2011 roku Chris napisał ponad 2000 artykułów, które zostały przeczytane prawie miliard razy–i to tylko tutaj, w How-To Geek.Read Full Bio ”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.