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).

.

Vastaa

Sähköpostiosoitettasi ei julkaista.