Microsoft Windows Installer

una norma de facto.

La tecnología de Windows Installer fue desarrollada por Microsoft y es una herramienta muy potente para crear instalaciones robustas y estables. Consta de dos componentes principales, el servicio de instalación en el cliente (Msiexec.exe) y un archivo de paquete (archivo MSI). El servicio de instalación realiza la instalación de una aplicación basándose en la información del archivo MSI. La potencia del Instalador de Windows va mucho más allá de la instalación y el lanzamiento de aplicaciones.

MSI es la abreviatura de Microsoft Installer. Los archivos MSI son bases de datos relacionales cuyas tablas contienen datos binarios/texto que representan instrucciones de control para la instalación. Estas bases de datos, junto con los ajustes realizados durante la instalación, son gestionadas por el sistema operativo. El propio paquete de software puede almacenarse en la base de datos, pero también es posible almacenar sólo las referencias a los archivos. Desde Windows 2000, la tecnología está totalmente integrada en los sistemas operativos de Microsoft.

Realiza diagnósticos y reparaciones de programas dañados

Un programa puede solicitar al instalador que determine si le faltan archivos o están dañados. A continuación, puede solicitar al servicio de instalación que repare ese programa, si es necesario, copiando de nuevo los archivos que faltan o están dañados.

El estado original del ordenador se restaura si la instalación falla.

El Instalador de Windows realiza un seguimiento de todos los cambios realizados en el sistema durante el proceso de instalación del programa. Si la instalación no tiene éxito, puede restablecer el sistema a su estado original. Este proceso también se conoce como "rollback".

Admite la instalación de funciones del programa bajo demanda.

Se puede indicar al instalador que instale al principio sólo la versión mínima de un programa. Posteriormente, los componentes adicionales pueden instalarse automáticamente cuando se utiliza por primera vez una función que requiere componentes adicionales.

Admite la instalación desatendida de programas.

El instalador admite la creación de scripts para la instalación de programas según las instrucciones del administrador.

Ayuda a prevenir ciertos tipos de conflictos entre programas

No es raro que un programa que se está instalando o desinstalando cause problemas con otro programa que ya está en el ordenador, o incluso que el ordenador deje de responder (se cuelgue). El Instalador de Windows aplica políticas de instalación que ayudan a evitar conflictos Cuando un proceso de instalación realiza actualizaciones de un archivo de biblioteca de enlace dinámico (DLL) o elimina un archivo DLL que también es utilizado por otro programa existente.


Resumen de los elementos más importantes de la tecnología MSI

Installation Package

Un paquete de instalación contiene toda la información que el Instalador de Windows necesita para realizar una instalación o desinstalación de una aplicación. El componente principal de un paquete de instalación es el archivo MSI, que se implementa con una base de datos relacional (de instalación). Además del procedimiento de instalación y los archivos de instalación, aquí se almacena mucha otra información, como los archivos CAB requeridos adicionalmente, las fuentes de instalación internas y externas, las instrucciones en caso de que ya esté instalada una versión anterior de esta aplicación o la información sobre los grupos de usuarios que pueden instalar esta aplicación.

Installation Mechanism

Un procedimiento de instalación, si es exitoso, consta de dos fases, Adquisición y Ejecución. En la fase de adquisición, toda la información necesaria para la instalación se lee de la base de datos de la instalación. A partir de esto, se genera un script que describe el procedimiento de instalación paso a paso. En la fase de ejecución, se edita este script y se instala la aplicación. Si la instalación no tiene éxito, el instalador de Windows restaura el ordenador a su estado anterior a la instalación en la fase de reversión. Para poder realizar este paso, se genera un script de rollback durante la fase de instalación, en paralelo al procesamiento del script de instalación.

Installation-On-Demand

Las tecnologías de instalación tradicionales requieren salir de una aplicación y reiniciar una rutina de instalación. La instalación a la carta representa un intento de eliminar estos pasos. Si un usuario quiere instalar una función adicional en una aplicación en funcionamiento, puede hacerlo directamente sin reiniciar la aplicación. Este concepto también se utiliza cuando el usuario decide instalar una nueva aplicación disponible (Advertisment).

Components and Features

Cuando el Instalador de Windows quiere instalar una aplicación, primero la transfiere al concepto de Componentes y Características. Una característica es una parte de una aplicación que no necesariamente tiene que ser instalada con una aplicación. Esta decisión se deja en manos del usuario. Un ejemplo sería una extensión de un programa de procesamiento de textos con soporte lingüístico adicional. Los componentes, en cambio, son una parte esencial fija de una aplicación y siempre se instalan junto con ella. Para el usuario esto se hace de forma transparente. Ejemplos de componentes son archivos individuales, claves de registro, objetos COM, enlaces, bibliotecas, etc.

Advertisement

El Instalador de Windows ofrece la posibilidad de anunciar la disponibilidad de una aplicación a un usuario sin que ésta esté ya instalada. Todo lo que se necesita es la interfaz de la aplicación. Esto se puede utilizar para mostrar al usuario de qué aplicación se trata. Sólo cuando el usuario quiere realmente utilizarlo, se instalan los componentes necesarios.

Customization

El instalador de Windows puede utilizarse para realizar instalaciones personalizadas para diferentes grupos de usuarios. Dado que toda la información de la instalación se almacena en una base de datos relacional, se pueden realizar cambios en los registros de datos en tiempo de ejecución y, por tanto, influir en la instalación de una aplicación. Sería concebible, por ejemplo, instalar una aplicación con un soporte de idioma diferente según el usuario respectivo.


Transforming (.mst)

fonte de informação » About Transforms | Microsoft Docs

Una transformación es un tipo especial de archivo de base de datos .msi y suele tener la extensión .mst. Las transformaciones se aplican a la configuración de una aplicación en el momento de la instalación. Esencialmente cambian los valores por defecto en un paquete MSI para controlar el comportamiento de la instalación cuando se produce. Los valores modificados no se almacenan en el archivo MSI.

Merge-Modul (.msm)

fonte de informação » About Merge Modules | Microsoft Docs

Otra variante del archivo MSI es el módulo de Merge o archivo MSM, un grupo de componentes que suelen reutilizarse en la configuración de aplicaciones. Por ejemplo, varias aplicaciones de terceros pueden utilizar Microsoft Visual C++ Redistributable (VC-Redist). En lugar de recrear una configuración para estos componentes compartidos en cada nuevo paquete MSI, los empaquetadores de aplicaciones pueden reutilizar los módulos de Merge proporcionados por el proveedor de componentes compartidos. Los módulos de Merge son archivos de base de datos .msi simplificados que contienen sólo las características y los componentes. A menudo, los archivos de componentes reales están incrustados en el propio archivo .msm. Los archivos .msm se fusionan con el paquete de Windows Installer de la aplicación principal en el momento de la creación del paquete.