I en vanlig Windows-installation finns katalogen ”Program Files” på %SystemDrive%\Program Files (eller dess lokaliserade motsvarighet), och ”Common Program Files” (eller dess lokaliserade motsvarighet) är en underkatalog under ”Program Files”. I Windows Vista och senare är sökvägarna till katalogerna ”Program Files” och ”Common Program Files” inte lokaliserade på disken. Istället är de lokaliserade namnen NTFS-knutpunkter till de icke-lokaliserade platserna. Dessutom lokaliserar Windows-skalet namnet på mappen Program Files beroende på systemets användargränssnittsvisningsspråk.

Både ’Program Files’ och ’Common Program Files’ kan flyttas. Vid systemstart laddas de faktiska sökvägarna till ”Program Files” och ”Common Program Files” från Windows-registret, där de lagras i värdena ProgramFilesDir och CommonFilesDir under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. De görs sedan tillgängliga för resten av systemet via de flyktiga miljövariablerna %ProgramFiles% och %CommonProgramFiles%. Programmen kan också få fram dessa sökvägars placering genom att fråga Setup API med hjälp av dirids, eller genom Windows Management Instrumentation, eller genom att fråga skalet med hjälp av CSIDLs eller ShellSpecialFolderConstants. Dessa är alla lokaliseringsoberoende metoder.

x86-64- och IA-64-versioner av Windows har två mappar för programfiler: Mappen Program Files fungerar som standardinstallationsmål för 64-bitarsprogram, medan mappen Program Files (x86) är standardinstallationsmål för 32-bitarsprogram som behöver emuleringslagret WoW64. Även om 64-bitars Windows-versioner också har en %ProgramFiles(x86)%-miljövariabel, skiljer sig inte dirids och CSIDLs mellan 32-bitars och 64-bitars miljöer; API:erna returnerar bara olika resultat, beroende på om den anropande processen är emulerad eller inte.

För att vara bakåtkompatibel med 8.3 begränsningar av de gamla filnamnen i File Allocation Table förkortas namnen ”Program Files”, ”Program Files (x86)” och ”Common Program Files” av systemet till progra~N och common~N, där N är en siffra, ett sekvensnummer som vid en ren installation kommer att vara 1 (eller 1 och 2 när både ”Program Files” och ”Program Files (x86)” är närvarande).

Om Windows installeras på en NTFS-volym kan mappen ”Program Files” som standard endast ändras av medlemmar i användargruppen ”Administrators”. Detta kan vara ett problem för program som skapats för Windows 9x. Dessa operativsystem hade ingen filsystemsäkerhet och program kunde därför också lagra sina data i ”Program Files”. Program som lagrar sina data i ”Program Files” kommer vanligtvis inte att kunna köras korrekt på Windows NT-system med normala användarrättigheter om inte säkerheten sänks för de berörda underkatalogerna. Windows Vista löste detta problem genom att införa virtualisering av filer och register. När denna virtualisering är aktiverad för en process sparar Windows ändringar i mappen ”Program Files” till %LocalAppData%\VirtualStore\Program Files (x86).

.

Lämna ett svar

Din e-postadress kommer inte publiceras.