La carpeta "Archivos de programa " es una carpeta estándar en los sistemas operativos Microsoft Windows donde se instalan las aplicaciones que no forman parte del sistema operativo. Normalmente, cada aplicación instalada en esta carpeta tiene un subdirectorio para sus recursos específicos. Los recursos compartidos, como los utilizados por varias aplicaciones de una misma empresa, suelen almacenarse en la carpeta " Archivos comunes " .
Ubicación
En una instalación estándar de Windows, el directorio «Archivos de programa» se encuentra en %SystemDrive%\Program Files(o su equivalente localizado), y «Archivos comunes» (o su equivalente localizado) es un subdirectorio dentro de «Archivos de programa». En Windows Vista y versiones posteriores, las rutas a los directorios «Archivos de programa» y «Archivos comunes» no se localizan (traducen) en el disco. En su lugar, los nombres localizados son puntos de unión NTFS que apuntan a las ubicaciones no localizadas. Además, el intérprete de comandos de Windows localiza el nombre de la carpeta «Archivos de programa» según el idioma de visualización de la interfaz de usuario del sistema.
Tanto «Archivos de programa» como «Archivos comunes» se pueden mover. Al iniciar el sistema, las rutas reales a «Archivos de programa» y «Archivos comunes» se cargan desde el registro de Windows , donde se almacenan en los valores ProgramFilesDiry en . Luego, se hacen accesibles al resto del sistema a través de las variables de entorno volátiles , y . Las aplicaciones también pueden obtener las ubicaciones de estas rutas consultando usando , o a través de la Instrumental de administración de Windows , o consultando el shell usando CSIDL, o . Todos estos son métodos independientes de la localización.CommonFilesDirHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion%ProgramFiles%%CommonProgramFiles%Setup APIdiridsShellSpecialFolderConstants
Las versiones x86-64 e IA-64 de Windows tienen dos carpetas para archivos de aplicación: la carpeta Archivos de programa sirve como destino de instalación predeterminado para programas de 64 bits, mientras que la carpeta Archivos de programa (x86) es el destino de instalación predeterminado para programas de 32 bits que necesitan la capa de emulación WoW64 . Si bien las versiones de Windows de 64 bits también tienen una %ProgramFiles(x86)%variable de entorno, los dirids y los CSIDL no difieren entre entornos de 32 y 64 bits; las API simplemente devuelven resultados diferentes, dependiendo de si el proceso que realiza la llamada está emulado o no. [ 1 ]
Para ser compatible con versiones anteriores con las limitaciones de la versión 8.3 de los nombres de archivo de la antigua tabla de asignación de archivos , los nombres 'Archivos de programa', 'Archivos de programa (x86)' y 'Archivos de programa comunes' son acortados por el sistema a y , donde N es un dígito, un número de secuencia que en una instalación limpia será 1 (o 1 y 2 cuando estén presentes tanto 'Archivos de programa' como 'Archivos de programa (x86)').progra~Ncommon~N
Redirección
Si Windows está instalado en un volumen NTFS , por defecto, la carpeta "Archivos de programa" solo puede ser modificada por los miembros del grupo de usuarios "Administradores". Esto puede ser un problema para los programas creados para Windows 9x . Dichos sistemas operativos carecían de seguridad en el sistema de archivos, por lo que los programas también podían almacenar sus datos en "Archivos de programa". Los programas que almacenan sus datos en "Archivos de programa" generalmente no se ejecutarán correctamente en sistemas Windows NT con privilegios de usuario normales, a menos que se reduzca la seguridad de los subdirectorios afectados.
Windows Vista solucionó este problema introduciendo la virtualización de archivos y del registro . Cuando esta virtualización de UAC está habilitada para un proceso, Windows guarda los cambios en la carpeta "Archivos de programa" en %LocalAppData%\VirtualStore\Program Files (x86). [ 2 ]
Historia
"Archivos de programa" apareció en Windows 95. "Archivos comunes" apareció en Windows 98. [ 3 ]
Una versión desconocida de Windows NT usa "Common" en lugar de "Archivos comunes". [ 4 ] Windows 2000 no parece presentar este comportamiento. [ 3 ] La documentación de CSIDL menciona que "CSIDL_PROGRAM_FILES_COMMON" requiere Shell32 versión 5.0 (Windows 2000 y ME), pero dice que solo es válido en Windows XP (6.0). [ 5 ]
Localización
See also
References
- ↑"winapi - SHGetFolderPath() 32 bit vs 64 bit". Stack Overflow.
- ↑Inside Windows Vista User Account Control by Mark Russinovich
- 12Emulated system images from https://copy.sh/v86/
- ↑"Special Folders and Custom Folders". learn.microsoft.com. November 2012.
- ↑"CSIDL (Shlobj.h) - Win32 apps". learn.microsoft.com. 22 March 2021.
CSIDL_PROGRAM_FILES_COMMON FOLDERID_ProgramFilesCommon Version 5.0. A folder for components that are shared across applications. A typical path is C:\Program Files\Common. Valid only for Windows XP.
Further reading
External links
- microsoft.com, Microsoft does not support changing the location of the Program Files folder by modifying the ProgramFilesDir registry value
- microsoft.com, Why is the Program Files directory called Program Files instead of just Programs?
- The Windows system folders - General overview.
- superuser.com, How can I find the short path of a Windows directory/file?
- helpdeskgeek.com, Why Does Windows 7 64-bit Need Two Program Files Folders?
- File system directories
- Microsoft Windows