Program Files

'Program Files' is a standard folder in Microsoft Windows operating systems in which applications that are not part of the operating system are conventionally installed. Typically, each application installed under the 'Program Files' directory will have a subdirectory for its application-specific resources. Shared resources, for example resources used by multiple applications from one company, are typically stored in the 'Common Program Files' directory.

In an standard Windows installation, the 'Program Files' directory will be at %SystemDrive%\Program Files (or the localized equivalent thereof), and the 'Common Program Files' (or the localized equivalent thereof) will be a subdirectory under 'Program Files'. In Windows Vista and later, the paths to the 'Program Files' and 'Common Program Files' directories are not localized on disk. Instead, the localized names are NTFS junction points to the non-localized locations. Additionally, the windows shell will localize the name of the Program Files folder depending on the system's user interface display language.

Both 'Program Files' and 'Common Program Files' can be moved. At system startup, the actual paths to 'Program Files' and 'Common Program Files' are loaded from the Windows registry, where they are stored in the ProgramFilesDir and CommonFilesDir values under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion. They are then made accessible to the rest of the system via the volatile environment variables %ProgramFiles%, and %CommonProgramFiles%. Applications can also obtain the locations of these paths by querying the Setup API using dirids, or through Windows Management Instrumentation, or by querying the shell using CSIDLs, or ShellSpecialFolderConstants. These are all localization-independent methods.

64-bit versions of Windows have two folders for application files; 'Program Files' folder serves as the default installation target for native (in this case 64-bit) programs, while the 'Program Files (x86)' folder is the default installation target for non-native (in this case x86-32) programs. While 64-bit Windows versions also have a %ProgramFiles(x86)% environment variable, the dirids/CSIDLs are not different for 32-bit/64-bit; the setup/shell APIs merely return different results, depending on whether the calling process is native or not.

To be backwards compatible with the 8.3 limitations of the old File Allocation Table filenames, the names 'Program Files', 'Program Files (x86)' and 'Common Program Files' are shortened by the system to progra~N and common~N, where N is a digit, a sequence number that on a clean install will be 1 (or 1 and 2 when both 'Program Files' and 'Program Files (x86)' are present).

When a Windows NT-based system is installed on a Windows NT File System volume, by default the 'Program Files' folder can only be modified by members of the 'Administrators' and 'Power Users' user groups. This can be an issue for programs created for Windows 9x. Those operating systems had no file system security, and programs could therefore also store their data in 'Program Files'. Programs that store their data in 'Program Files' will usually not run correctly on Windows NT-based systems with normal user privileges unless security is lowered for the affected subdirectories.

Read more about Program Files:  Localization

Famous quotes containing the words program and/or files:

    The discovery of Pennsylvania’s coal and iron was the deathblow to Allaire. The works were moved to Pennsylvania so hurriedly that for years pianos and the larger pieces of furniture stood in the deserted houses.
    —For the State of New Jersey, U.S. public relief program (1935-1943)

    But some who this blithe mood present,
    As on in lightsome files they fare,
    Shall die experienced ere three days be spent—
    Perish, enlightened by the vollied glare;
    Or shame survive, and, like to adamant,
    Thy after shock, Manassas, share.
    Herman Melville (1819–1891)