I en standard Windows-installation vil mappen “Program Files” ligge på %SystemDrive%\Program Files (eller den lokaliserede pendant hertil), og “Common Program Files” (eller den lokaliserede pendant hertil) vil være en undermappe under “Program Files”. I Windows Vista og senere er stierne til mapperne “Program Files” og “Common Program Files” ikke lokaliseret på disken. I stedet er de lokaliserede navne NTFS-forbindelsespunkter til de ikke-lokaliserede steder. Desuden lokaliserer Windows-shellen navnet på mappen ‘Program Files’ afhængigt af systemets brugergrænsefladesprog.

Både ‘Program Files’ og ‘Common Program Files’ kan flyttes. Ved systemstart indlæses de faktiske stier til ‘Program Files’ og ‘Common Program Files’ fra Windows-registret, hvor de er gemt i værdierne ProgramFilesDir og CommonFilesDir under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. De gøres derefter tilgængelige for resten af systemet via de flygtige miljøvariabler %ProgramFiles% og %CommonProgramFiles%. Programmer kan også få fat i disse stiers placering ved at spørge Setup API ved hjælp af dirids, eller gennem Windows Management Instrumentation, eller ved at spørge shell’en ved hjælp af CSIDL’er eller ShellSpecialFolderConstants. Disse er alle lokaliseringsuafhængige metoder.

x86-64- og IA-64-versioner af Windows har to mapper til programfiler: Mappen Program Files tjener som standardinstallationsmål for 64-bit programmer, mens mappen Program Files (x86) er standardinstallationsmål for 32-bit programmer, der har brug for WoW64-emuleringslaget. Selv om 64-bit Windows-versioner også har en %ProgramFiles(x86)% miljøvariabel, er dirids og CSIDL’er ikke forskellige mellem 32-bit og 64-bit miljøer; API’erne returnerer blot forskellige resultater, afhængigt af om den kaldende proces er emuleret eller ej.

For at være bagudkompatibel med 8.3-begrænsninger i de gamle filnavne i File Allocation Table forkortes navnene “Program Files”, “Program Files (x86)” og “Common Program Files” af systemet til progra~N og common~N, hvor N er et ciffer, et sekvensnummer, der ved en ren installation vil være 1 (eller 1 og 2, når både “Program Files” og “Program Files (x86)” er til stede).

Hvis Windows er installeret på et NTFS-volumen, kan mappen “Program Files” som standard kun ændres af medlemmer af brugergruppen “Administratorer”. Dette kan være et problem for programmer, der er oprettet til Windows 9x. Disse styresystemer havde ingen sikkerhed i filsystemet, og programmer kunne derfor også gemme deres data i “Program Files”. Programmer, der gemmer deres data i “Program Files”, vil normalt ikke kunne køre korrekt på Windows NT-systemer med normale brugerrettigheder, medmindre sikkerheden for de berørte undermapper er sænket. Windows Vista løste dette problem ved at indføre Virtualisering af filer og registratur. Når denne virtualisering er aktiveret for en proces, gemmer Windows ændringer i mappen “Program Files” til %LocalAppData%\VirtualStore\Program Files (x86).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.