W standardowej instalacji systemu Windows katalog „Program Files” będzie znajdował się pod adresem %SystemDrive%\Program Files
(lub jego zlokalizowanym odpowiednikiem), a „Common Program Files” (lub jego zlokalizowany odpowiednik) będzie podkatalogiem w katalogu „Program Files”. W Windows Vista i późniejszych, ścieżki do katalogów 'Program Files’ i 'Common Program Files’ nie są lokalizowane na dysku. Zamiast tego, zlokalizowane nazwy są punktami węzłowymi NTFS do niezlokalizowanych lokalizacji. Dodatkowo, powłoka Windows lokalizuje nazwę folderu Program Files w zależności od języka wyświetlania interfejsu użytkownika systemu.
Zarówno 'Program Files’ jak i 'Common Program Files’ mogą być przenoszone. Podczas uruchamiania systemu rzeczywiste ścieżki do 'Program Files’ i 'Common Program Files’ są ładowane z rejestru Windows, gdzie są przechowywane w wartościach ProgramFilesDir
i CommonFilesDir
pod HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
. Są one następnie udostępniane reszcie systemu za pośrednictwem zmiennych środowiskowych %ProgramFiles%
i %CommonProgramFiles%
. Aplikacje mogą również uzyskać lokalizacje tych ścieżek, odpytując Setup API
przy użyciu dirids
, lub przez Windows Management Instrumentation, lub odpytując powłokę przy użyciu CSIDLs, lub ShellSpecialFolderConstants
. Są to wszystkie metody niezależne od lokalizacji.
x86-64 i IA-64 wersje systemu Windows mają dwa foldery dla plików aplikacji: Folder Program Files służy jako domyślny cel instalacji dla programów 64-bitowych, podczas gdy folder Program Files (x86) jest domyślnym celem instalacji dla programów 32-bitowych, które potrzebują warstwy emulacji WoW64. Podczas gdy 64-bitowe wersje Windows mają również zmienną środowiskową %ProgramFiles(x86)%
, diridy i CSIDL nie różnią się między środowiskami 32-bitowymi i 64-bitowymi; interfejsy API zwracają jedynie różne wyniki, w zależności od tego, czy proces wywołujący jest emulowany, czy nie.
Aby być wstecznie kompatybilnym z 8.3 ograniczeniami starych nazw plików tablicy alokacji plików, nazwy „Program Files”, „Program Files (x86)” i „Common Program Files” są skracane przez system do progra~N
i common~N
, gdzie N jest cyfrą, numerem sekwencyjnym, który na czystej instalacji będzie 1 (lub 1 i 2, gdy zarówno „Program Files” i „Program Files (x86)” są obecne).
Jeśli system Windows jest zainstalowany na woluminie NTFS, domyślnie folder „Program Files” może być modyfikowany tylko przez członków grupy użytkowników „Administratorzy”. Może to stanowić problem dla programów stworzonych dla Windows 9x. Tamte systemy operacyjne nie miały zabezpieczeń systemu plików i dlatego programy mogły również przechowywać swoje dane w 'Program Files’. Programy, które przechowują swoje dane w 'Program Files’ zazwyczaj nie będą działać poprawnie w systemach Windows NT z normalnymi uprawnieniami użytkownika, chyba że zostaną obniżone zabezpieczenia dla odpowiednich podkatalogów. System Windows Vista zajął się tym problemem, wprowadzając wirtualizację plików i rejestru. Kiedy ta wirtualizacja jest włączona dla procesu, Windows zapisuje zmiany w folderze 'Program Files’ do %LocalAppData%\VirtualStore\Program Files (x86)
.
.