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.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.