Uso de Windows Installer y Protección de recursos de Windows.

Windows Installer se adhiere a Protección de recursos de Windows (WRP) al instalar archivos del sistema, carpetas e información del registro esenciales en Windows Server 2008 y versiones posteriores y en Windows Vista y versiones posteriores.

WRP en Windows Server 2008 y Windows Vista reemplaza la Protección de archivos de Windows (WFP) en Windows Server 2003, Windows XP y Windows 2000. Los desarrolladores de Windows Installer deben tener en cuenta los siguientes cambios en el modo en que el instalador controla los recursos protegidos en Windows Server 2008 y versiones posteriores y en Windows Vista y versiones posteriores:

  • Cuando se ejecuta en estos sistemas operativos o en versiones posteriores, Windows Installer omite la instalación de cualquier archivo protegido por WRP, el instalador escribe una advertencia en el archivo de registro y continúa con el resto de la instalación sin ningún error. En Windows Server 2003, Windows XP y Windows 2000, cuando Windows Installer encontraba un archivo protegido por WFP, el instalador solicitaba que WFP instalara el archivo.
  • WRP en Windows Server 2008 y versiones posteriores o en Windows Vista y versiones posteriores puede proteger las claves del registro además de los archivos. Si Windows Installer encuentra una clave del registro protegida por WRP, el instalador omite la instalación de esa clave del registro, escribe una advertencia en el archivo de registro y continúa con el resto de la instalación sin ningún error.
  • Tenga en cuenta que si un componente de Windows Installer contiene un archivo o una clave del registro protegida por WRP, este recurso debe usarse como KeyPath del componente. En este caso, Windows Installer no instalará, actualizará ni eliminará el componente. No debería incluirse ningún recurso protegido en un paquete de instalación. En lugar de eso, deberá usar los mecanismos de reemplazo de recursos compatibles para Protección de recursos de Windows.

Para más información sobre WRP, consulte Protección de recursos de Windows y la información que se proporciona en Microsoft Technet.

WFP para Windows Server 2003 y Windows XP o 2000

Windows Installer se adhiere a la Protección de archivos de Windows (WFP) al instalar archivos esenciales del sistema en Windows Server 2003, Windows XP y Windows 2000. Si una instalación desatendida de una aplicación modifica un archivo del sistema protegido, WFP restaura el archivo a la versión de archivo verificada.

Windows Installer nunca intenta instalar o reemplazar un archivo protegido. Cuando la acción InstallFiles, o cualquier otra acción programada antes que esta, intenta instalar un archivo protegido en Windows Server 2003, Windows XP o Windows 2000, el instalador llama a WFP con una solicitud para instalar o reemplazar el archivo protegido. El instalador solicita la instalación del archivo desde WFP inmediatamente después de ejecutar la acción InstallFiles. WFP instala o reemplaza el archivo en el sistema del usuario por una versión almacenada en caché del archivo protegido. Tenga en cuenta que esto no garantiza que la versión del archivo instalado desde la memoria caché sea la versión que necesita la aplicación. Una vez que WFP instala el archivo, el instalador determina si esta versión coincide con la versión del paquete. Si la versión del archivo del paquete es posterior a la versión instalada, el instalador informa al usuario de que no puede actualizar el sistema y de que es posible que se requiera una actualización del sistema operativo para la aplicación.

Si alguna acción secuenciada después de InstallFiles intenta instalar o reemplazar un archivo protegido aún no instalado en el sistema, el instalador no podrá llamar a WFP para instalar el archivo. En este caso, el instalador informa al usuario de que no puede actualizar el sistema y de que es posible que se requiera una actualización del sistema operativo para la aplicación.

El instalador también comprueba con WFP cuando elimina archivos y nunca intenta eliminar archivos protegidos del sistema.

Archivos de clave de componente protegidos por WFP

Tenga en cuenta que si un componente de Windows Installer contiene un archivo de WFP, este archivo debe especificarse como ruta de acceso de la clave del componente.

Cuando el instalador intenta instalar el archivo de clave de un componente en Windows Server 2003, Windows XP o Windows 2000, primero llama a WFP para determinar si el archivo de clave está protegido. Cuando el archivo de clave de un componente está protegido con WFP y ese archivo de clave ya está instalado, el instalador actualiza el componente solo si la versión del archivo de clave del paquete es posterior a la versión instalada. Si el paquete de instalación especifica que se va a instalar un componente y el archivo de clave del componente no está instalado actualmente, independientemente de si el archivo de clave está protegido, el instalador instalará el componente. Una vez instalado cualquier componente que tenga un archivo de clave protegido con WFP, se instala permanentemente y el instalador nunca eliminará ni reemplazará el componente.

Instalación de ensamblados mediante WFP

WFP para ensamblados difiere de WFP para archivos del sistema.

WFP protege los archivos del sistema Windows Server 2003, Windows XP y Windows 2000 mediante la detección de intentos de reemplazar los archivos del sistema protegidos. Esta protección se desencadena después de que WFP reciba una notificación de cambio de directorio para un archivo de un directorio protegido. Cuando WFP recibe esta notificación, determina qué archivo ha cambiado. Si el archivo está protegido, WFP busca la firma de archivo en un archivo de catálogo estático para determinar si el nuevo archivo tiene la versión correcta. Si la versión del archivo no es correcta, el sistema reemplaza el archivo por la versión correcta desde la memoria caché o el medio de distribución.

En cambio, la WFP de ensamblados es dinámica. WFP se extiende a los archivos a medida que se agregan a la caché de ensamblados en paralelo compartida. Si un ensamblado se daña, WFP solicitará que el instalador reemplace el archivo. Windows Installer puede o no ser capaz de reemplazar el archivo en función de si el paquete de origen es accesible. Si el paquete de origen no es accesible, WFP mostrará un cuadro de diálogo que indica que no puede restaurar el archivo.

Tenga en cuenta que los ensamblados en paralelo compartidos no administrados, instalados en %windir%\winsxs, están protegidos con WFP. Los ensamblados privados no administrados, instalados en el directorio de la aplicación, no están protegidos mediante WFP. Los ensamblados globales administrados instalados en el directorio de la aplicación, o en %windir%\assembly\gac, no están protegidos mediante WFP.

Protección de recursos de Windows