Windows Installer (msiexec.exe, anteriormente conocido como Microsoft Installer , [3] nombre en clave Darwin ) [4] [5] es un componente de software y una interfaz de programación de aplicaciones (API) de Microsoft Windows que se utiliza para la instalación, el mantenimiento y la eliminación de software. . La información de instalación y, opcionalmente, los archivos en sí, están empaquetados en paquetes de instalación , bases de datos relacionales estructuradas como Almacenamientos estructurados COM y comúnmente conocidos como "archivos MSI", a partir de sus extensiones de nombre de archivo predeterminadas.. Los paquetes con las extensiones de archivo mst
contienen "Scripts de transformación" de Windows Installer, los que tienen las msm
extensiones contienen "Módulos de combinación" y la extensión del archivo pcp
se utiliza para las "Propiedades de creación de parches". [6] Windows Installer contiene cambios significativos con respecto a su predecesor, Setup API. Las nuevas características incluyen un marco de GUI y generación automática de la secuencia de desinstalación . Windows Installer se posiciona como una alternativa a los marcos de instalación ejecutables independientes, como las versiones anteriores de InstallShield y NSIS .
Desarrollador (es) | Microsoft |
---|---|
Versión inicial | 31 de agosto de 1999 |
Lanzamiento estable | 5.0 / 22 de julio de 2009 [1] |
Sistema operativo | Microsoft Windows |
Plataforma | IA-32 , x86-64 , Itanium |
Incluido con | Windows 2000 y posterior |
Tipo | Instalador |
Licencia | Freeware |
Sitio web | www |
Extensión de nombre de archivo | .msi, .msp |
---|---|
Tipo de medio de Internet | aplicación / x-ole-storage |
Desarrollado por | Microsoft |
Tipo de formato | Archivo |
Contenedor para | Información de instalación y una carga útil de archivo .cab opcional |
Extendido desde | Almacenamiento estructurado COM |
¿ Formato abierto ? | No |
Antes de la introducción de la Tienda Windows , Microsoft animaba a los terceros a utilizar Windows Installer como base para los marcos de instalación, para que se sincronizaran correctamente con otros instaladores y mantuvieran la base de datos interna de los productos instalados de forma coherente. Las características importantes, como la reversión y el control de versiones, dependen de una base de datos interna consistente para un funcionamiento confiable. Además, Windows Installer facilita el principio de privilegio mínimo al realizar instalaciones de software por proxy para usuarios sin privilegios.
Estructura lógica de paquetes
Un paquete describe la instalación de uno o más productos completos y está identificado universalmente por un GUID . Un producto se compone de componentes agrupados en funciones . Windows Installer no maneja las dependencias entre productos.
Productos
Un programa (o conjunto de programas) único, instalado y en funcionamiento es un producto . Un producto se identifica mediante un GUID único (la propiedad ProductCode) que proporciona una identidad autorizada en todo el mundo. El GUID, en combinación con el número de versión (propiedad ProductVersion), permite la administración de versiones de los archivos y claves de registro del producto.
Un paquete incluye la lógica del paquete y otros metadatos relacionados con cómo se ejecuta el paquete cuando se ejecuta. Por ejemplo, cambiar un archivo EXE en el producto puede requerir que se cambie el ProductCode o ProductVersion para la administración de versiones. Sin embargo, simplemente cambiar o agregar una condición de lanzamiento (con el producto siendo exactamente igual que la versión anterior) aún requeriría que el PackageCode cambie para la administración de versiones del archivo MSI en sí.
Características
Una característica es un grupo jerárquico de componentes. Una función puede contener cualquier número de componentes y otras subcaracterísticas. Los paquetes más pequeños pueden constar de una única característica. Los instaladores más complejos pueden mostrar un cuadro de diálogo de "configuración personalizada", desde el cual el usuario puede seleccionar qué funciones instalar o eliminar.
El autor del paquete define las características del producto. Un procesador de texto , por ejemplo, puede colocar el archivo principal del programa en una función y los archivos de ayuda del programa, el corrector ortográfico opcional y los módulos de papelería en funciones adicionales.
Componentes
Un componente es la unidad básica de un producto. Windows Installer trata cada componente como una unidad. El instalador no puede instalar solo parte de un componente. [7] Los componentes pueden contener archivos de programa , carpetas , componentes COM , claves de registro y accesos directos . El usuario no interactúa directamente con los componentes.
Los componentes se identifican globalmente mediante GUID; por lo tanto, el mismo componente se puede compartir entre varias funciones del mismo paquete o varios paquetes, idealmente mediante el uso de módulos de combinación .
Caminos clave
Una ruta de clave es un archivo específico, una clave de registro o una fuente de datos ODBC que el autor del paquete especifica como crítica para un componente determinado. Debido a que un archivo es el tipo más común de ruta de clave, el término archivo de clave se usa comúnmente. Un componente puede contener como máximo una ruta clave; si un componente no tiene una ruta de clave explícita, la carpeta de destino del componente se toma como la ruta de la clave. Cuando se inicia un programa basado en MSI, Windows Installer comprueba la existencia de rutas clave. Si hay una discrepancia entre el estado actual del sistema y el valor especificado en el paquete MSI (por ejemplo, falta un archivo de clave), la función relacionada se reinstala. Este proceso se conoce como auto-sanación o de auto-reparación . No hay dos componentes que utilicen la misma ruta de clave.
Desarrollar paquetes de instalación
Crear un paquete de instalación para una nueva aplicación no es trivial. Es necesario especificar qué archivos se deben instalar, dónde y con qué claves de registro. Cualquier operación no estándar se puede realizar mediante acciones personalizadas, que normalmente se desarrollan en archivos DLL . Hay una serie de productos comerciales y gratuitos para ayudar en la creación de paquetes MSI, incluido Visual Studio (de forma nativa hasta VS 2010, [8] con una extensión en las versiones más recientes de VS [9] ), InstallShield y WiX . En diversos grados, la interfaz de usuario y el comportamiento pueden configurarse para su uso en situaciones menos comunes, como una instalación desatendida. Una vez preparado, un paquete de instalación se "compila" leyendo las instrucciones y los archivos de la máquina local del desarrollador y creando el archivo .msi.
El ingeniero de instalación puede cambiar o configurar la interfaz de usuario (cuadros de diálogo) que se presenta al inicio de la instalación para desarrollar un nuevo instalador. Hay un idioma limitado de botones, campos de texto y etiquetas que se pueden organizar en una secuencia de cuadros de diálogo. Un paquete de instalación debe poder ejecutarse sin ninguna interfaz de usuario, para lo que se denomina "instalación desatendida".
Validación ICE
Microsoft proporciona un conjunto de evaluadores de coherencia interna (ICE) que se pueden utilizar para detectar problemas potenciales con una base de datos MSI. [10] Las reglas de ICE se combinan en archivos CUB, que son archivos MSI reducidos que contienen acciones personalizadas que prueban el contenido de la base de datos MSI de destino en busca de advertencias y errores de validación. La validación de ICE se puede realizar con las herramientas de Platform SDK Orca y msival2, o con las herramientas de validación que se incluyen en los distintos entornos de creación.
Por ejemplo, algunas de las reglas de ICE son:
- ICE09: Valida que cualquier componente destinado a la carpeta Sistema esté marcado como permanente.
- ICE24: valida que el código del producto, la versión del producto y el idioma del producto tengan los formatos adecuados.
- ICE33: valida que la tabla de registro no se utilice para datos más adecuados para otra tabla (clase, extensión, verbo, etc.).
Abordar las advertencias y errores de validación de ICE es un paso importante en el proceso de publicación.
Versiones
Versión | Incluido con [1] | También disponible para |
---|---|---|
1.0 | Oficina 2000 | N / A |
1.1 | Windows 2000 RTM, SP1, SP2 Office XP [11] | Windows 95 , Windows 98 Windows NT 4.0 |
1.2 | Windows Me | N / A |
2.0 | Windows XP RTM, SP1 Windows 2000 SP3, SP4 Windows Server 2003 RTM | Windows 9x Windows NT 4.0 Windows 2000 |
3,0 | Windows XP SP2 | Windows 2000 Windows XP Windows Server 2003 |
3.1 | Windows XP SP3 Windows Server 2003 SP1, SP2 Windows XP Professional x64 Edition | Windows 2000 Windows XP Windows Server 2003 |
4.0 | Windows Vista RTM, SP1 Windows Server 2008 RTM | N / A |
4.5 [12] | Windows Vista SP2 Windows Server 2008 SP2 | Windows XP Windows Server 2003 Windows XP Professional x64 Edition Windows Vista Windows Server 2008 [13] |
5,0 | Windows 7 y posterior Windows Server 2008 R2 y posterior | N / A |
Ver también
- .exe
- Instalación
- Lista de software de instalación
- Sistema de gestión de paquetes
- Utilidad de limpieza de Windows Installer
- Archivo ZAP : una forma de realizar la instalación de una aplicación cuando no existe ningún archivo MSI.
Referencias
- ^ a b "Versiones publicadas de Windows Installer" . Red de desarrolladores de Microsoft . Microsoft . Consultado el 3 de noviembre de 2012 .
- ^ "Detalles de extensión de archivo .MSI" . Filext.com . Consultado el 24 de abril de 2013 .
- ^ Mensching, Rob (25 de noviembre de 2003). "Dentro del formato de archivo MSI" . Blogs de MSDN . Archivado desde el original el 15 de enero de 2009 . Consultado el 15 de febrero de 2017 .
- ^ Mensching, Rob (11 de octubre de 2003). "La historia de Orca" . Blogs de MSDN . Archivado desde el original el 23 de diciembre de 2008 . Consultado el 15 de febrero de 2017 .
- ^ Smith, Chris (1 de julio de 2005). "Windows Installer, .NET Framework, Bootstrapper y usted" . Blogs de MSDN . Consultado el 15 de febrero de 2017 .
- ^ Stewart, Heath (27 de febrero de 2006). "Identificación de tipos de archivos de Windows Installer" . Consultado el 22 de abril de 2020 .
- ^ "Componentes de Windows Installer" . Biblioteca de MSDN . Microsoft Corporation . 2012-11-30 . Consultado el 8 de abril de 2013 .
- ^ Hodges, Buck (17 de marzo de 2011). "Los proyectos de instalación de Visual Studio (vdproj) no se enviarán con versiones futuras de VS" . Blogs de MSDN . Consultado el 4 de febrero de 2020 .
- ^ "Extensión de proyectos del instalador de Visual Studio" . Blog de Visual Studio . 2014-04-17 . Consultado el 4 de febrero de 2020 .
- ^ Evaluadores de coherencia interna - ICE
- ^ "Aplicación de actualizaciones de archivos completos a los equipos cliente" . Microsoft . 9 de marzo de 2004. Archivado desde el original el 10 de abril de 2004.
- ^ Novedades de Windows Installer 4.5
- ^ "Versiones publicadas de Windows Installer (Windows)" . Msdn.microsoft.com. 2012-11-30 . Consultado el 24 de abril de 2013 .
enlaces externos
- "Windows Installer" . Centro de desarrollo de Microsoft.
- "Recursos para desarrolladores de instalación" de InstallSite.org