A Windows szabványos telepítésénél a “Program Files” könyvtár a %SystemDrive%\Program Files
(vagy annak honosított megfelelője), a “Common Program Files” (vagy annak honosított megfelelője) pedig a “Program Files” könyvtár alatti alkönyvtár lesz. A Windows Vista és újabb rendszerekben a ‘Program Files’ és a ‘Common Program Files’ könyvtárak elérési útvonalai nem lokalizálódnak a lemezen. Ehelyett a lokalizált nevek NTFS-elágazási pontok a nem lokalizált helyekre. Ezenkívül a Windows shell a rendszer felhasználói felületének megjelenítési nyelvétől függően lokalizálja a Program Files mappa nevét.
A ‘Program Files’ és a ‘Common Program Files’ könyvtárak is áthelyezhetők. A rendszer indításakor a ‘Program Files’ és a ‘Common Program Files’ tényleges elérési útvonalai a Windows registryből töltődnek be, ahol a ProgramFilesDir
és CommonFilesDir
értékek a HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
alatt találhatóak. Ezután a rendszer többi része számára a %ProgramFiles%
és %CommonProgramFiles%
illékony környezeti változókon keresztül válnak elérhetővé. Az alkalmazások ezen elérési utak helyét a Setup API
dirids
segítségével történő lekérdezésével, vagy a Windows Management Instrumentation segítségével, illetve a héj CSIDL-ek vagy ShellSpecialFolderConstants
segítségével történő lekérdezésével is megkaphatják. Ezek mind lokalizáció-független módszerek.
A Windows 86-64 és IA-64 változatai két mappával rendelkeznek az alkalmazásfájlok számára: A Program Files mappa a 64 bites programok alapértelmezett telepítési célpontja, míg a Program Files (x86) mappa a WoW64 emulációs réteget igénylő 32 bites programok alapértelmezett telepítési célpontja. Bár a 64 bites Windows verziók is rendelkeznek egy %ProgramFiles(x86)%
környezeti változóval, a diridek és a CSIDL-ek nem különböznek a 32 bites és a 64 bites környezetek között; az API-k csupán különböző eredményeket adnak vissza attól függően, hogy a hívó folyamat emulált-e vagy sem.
Azért, hogy visszafelé kompatibilisek legyenek a 8. sz.3 korlátozásaival kompatibilis, a “Program Files”, “Program Files (x86)” és “Common Program Files” neveket a rendszer progra~N
-re és common~N
-re rövidíti, ahol N egy számjegy, egy sorszám, amely tiszta telepítés esetén 1 lesz (vagy 1 és 2, ha a “Program Files” és a “Program Files (x86)” is jelen van).
Ha a Windows NTFS kötetre van telepítve, a ‘Program Files’ mappát alapértelmezés szerint csak a ‘Rendszergazdák’ felhasználói csoport tagjai módosíthatják. Ez problémát jelenthet a Windows 9x-re létrehozott programok esetében. Azok az operációs rendszerek nem rendelkeztek fájlrendszer-biztonsággal, ezért a programok a ‘Program Files’ mappában is tárolhatták adataikat. Azok a programok, amelyek adataikat a “Program Files”-ban tárolják, általában nem futnak megfelelően a Windows NT rendszereken normál felhasználói jogosultságokkal, hacsak nem csökkentjük az érintett alkönyvtárak biztonságát. A Windows Vista ezt a problémát a Fájl- és regisztervirtualizáció bevezetésével oldotta meg. Ha ez a virtualizáció engedélyezve van egy folyamat számára, a Windows a ‘Program Files’ mappában végrehajtott változásokat a %LocalAppData%\VirtualStore\Program Files (x86)
.
mappába menti.