Normaalissa Windows-asennuksessa ’Ohjelmatiedostot’-hakemisto on osoitteessa %SystemDrive%\Program Files
(tai sen lokalisoitu vastine), ja ’Yleiset ohjelmatiedostot’ (tai sen lokalisoitu vastine) on ’Ohjelmatiedostot’-hakemiston alahakemisto. Windows Vistassa ja uudemmissa Windows Vista -käyttöjärjestelmissä ’Ohjelmatiedostot’- ja ’Yhteiset ohjelmatiedostot’-hakemistojen polkuja ei lokalisoida levyllä. Sen sijaan lokalisoidut nimet ovat NTFS-kytkentäpisteitä lokalisoimattomiin sijainteihin. Lisäksi Windowsin komentotulkki lokalisoi Ohjelmatiedostot-kansion nimen järjestelmän käyttöliittymän näyttökielen mukaan.
Sekä ’Ohjelmatiedostot’ että ’Yhteiset ohjelmatiedostot’ voidaan siirtää. Järjestelmän käynnistyessä ’Ohjelmatiedostojen’ ja ’Yleiset ohjelmatiedostot’ todelliset polut ladataan Windowsin rekisteristä, jossa ne on tallennettu ProgramFilesDir
– ja CommonFilesDir
-arvoihin kohdassa HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
. Sen jälkeen ne ovat muun järjestelmän käytettävissä haihtuvien ympäristömuuttujien %ProgramFiles%
ja %CommonProgramFiles%
kautta. Sovellukset voivat myös saada näiden polkujen sijainnit tiedustelemalla Setup API
:stä käyttämällä dirids
, tai Windows Management Instrumentationin kautta, tai tiedustelemalla komentotulkista käyttämällä CSIDL:ää tai ShellSpecialFolderConstants
. Nämä kaikki ovat lokalisoinnista riippumattomia menetelmiä.
x86-64- ja IA-64-versioissa Windowsissa on kaksi kansiota sovellustiedostoille: Ohjelmatiedostot-kansio toimii 64-bittisten ohjelmien oletusasennuskohteena, kun taas Ohjelmatiedostot (x86) -kansio on oletusasennuskohde 32-bittisille ohjelmille, jotka tarvitsevat WoW64-emulointikerroksen. Vaikka 64-bittisissä Windows-versioissa on myös %ProgramFiles(x86)%
-ympäristömuuttuja, diridit ja CSIDL:t eivät eroa 32-bittisten ja 64-bittisten ympäristöjen välillä; API:t vain palauttavat erilaisia tuloksia riippuen siitä, onko kutsuva prosessi emuloitu vai ei.
Ollakseen taaksepäin yhteensopiva 8.3:n vanhojen File Allocation Table -tiedostojen nimien rajoitusten kanssa, järjestelmä lyhentää nimet ’Program Files’, ’Program Files (x86)’ ja ’Common Program Files’ muotoon progra~N
ja common~N
, jossa N on numero, järjestysnumero, joka puhtaassa asennuksessa on 1 (tai 1 ja 2, kun sekä ’Program Files’ että ’Program Files (x86)’ ovat läsnä).
Jos Windows on asennettu NTFS-tietueelle, ’Ohjelmatiedostot’-kansiota voivat oletusarvoisesti muokata vain ’Järjestelmänvalvojat’-käyttäjäryhmän jäsenet. Tämä voi olla ongelma Windows 9x:lle luoduille ohjelmille. Kyseisissä käyttöjärjestelmissä ei ollut tiedostojärjestelmän suojausta, joten ohjelmat saattoivat tallentaa tietonsa myös ’Ohjelmatiedostoihin’. Ohjelmat, jotka tallentavat tietonsa ohjelmatiedostoihin, eivät yleensä toimi oikein Windows NT -järjestelmissä, joissa on normaalit käyttäjäoikeudet, ellei kyseisten alihakemistojen suojausta ole alennettu. Windows Vista ratkaisi tämän ongelman ottamalla käyttöön tiedostojen ja rekisterin virtualisoinnin. Kun tämä virtualisointi on käytössä prosessille, Windows tallentaa ’Ohjelmatiedostot’-kansioon tehdyt muutokset osoitteeseen %LocalAppData%\VirtualStore\Program Files (x86)
.
.