Windows Installer

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Previamente conocido como Microsoft Installer, Windows Installer es un motor para la instalación, mantenimiento y eliminación de programas en plataformas Microsoft Windows.

Los paquetes MSI (Microsoft Installer) se definen como instaladores de Microsoft, a saber, aquellos paquetes de software que contienen la información necesaria para automatizar su instalación, minimizando la intervención manual del usuario, ya que toda la información iría contenida en el propio fichero "msi".

La información de instalación, y a menudo los archivos mismos, son empaquetados en paquetes de instalación, bases de datos estructuradas como OLE Structured Storage Files (almacenamiento estructurado de ficheros) y comúnmente conocido como "MSI files" por su extensión de archivo (comparar: .deb, RPM). Windows Installer es un avance significativo sobre su predecesor, Setup API. Dado que ofrece ciertas características nuevas como la interfaz gráfica de usuario, la generación automática de la secuencia de desinstalación y un poderoso despliegue de capacidades, Windows Installer representa una alternativa interesante para los instaladores independientes, permitiendo reemplazar las antiguas versiones de InstallShield y WISE.


Microsoft anima a terceras partes a usar Windows Installer como la base para entornos de instalación, de modo que sincronicen correctamente con otros instaladores y mantengan la base de datos interna de productos instalados consistente. Características importantes como rollback (deshacer, dar marcha atrás) y versioning (control de versiones) (ver DLL Hell) dependen de una consistencia interna de la base de datos para una operación fiable.

Estructura lógica de los paquetes[editar]

Un paquete describe la instalación completa de un producto (Windows Installer no maneja dependencias entre productos) y está universalmente identificado por un GUID. Un producto está compuesto de componentes agrupados dentro de sus características.

Componentes installer[editar]

Un componente es la mínima parte de un producto WEY. Cada componente es tratado por Windows Installer como una unidad: el desarrollo de la instalación no puede, por ejemplo, usar una condición para especificar sólo una parte de un componente. Los componentes pueden contener archivos, grupos de archivos, directorios, componentes COM, claves del registro de Windows, accesos directos y otro tipo de datos. El usuario final no interactúa directamente con los componentes.

Los componentes están identificados globalmente por GUIDs, lo que permite que un mismo componente sea compartido entre varios del mismo paquete o de múltiples paquetes, idealmente a través del uso de la unión de módulos (aunque para trabajar correctamente, diferentes componentes no deberían compartir ningún sub-componente).

Rutas maestras (Key paths)[editar]

Una ruta maestra es un fichero específico, clave de registro, o fuente de datos ODBC que el autor del paquete especifica como crítico para un componente dado. Como las rutas maestras más utilizadas son en forma de fichero, se suele utilizar el término fichero maestro (key file). Un componente puede contener, a lo sumo, una ruta maestra; si un componente no tiene establecida de manera explícita una ruta maestra, el directorio destino del componente es tomado como la ruta maestra. Cuando se ejecuta una aplicación basada en MSI, Windows Installer comprueba la existencia de estos fichero críticos o claves de registro (es decir, las rutas maestras). Si existe un desajuste entre el estado actual del sistema y el valor especificado en el paquete MSI (e.g., un fichero maestro desaparecido), entonces la característica asociada es reinstalada. Este proceso es también conocido como auto-reparación. Dos componentes no pueden utilizar la misma ruta maestra u otra.