¿Cuál es la principal diferencia entre los archivos de instalación MSI y EXE?

13

Ciertamente vemos que algunos .exearchivos se ejecutan, pero ¿cuál es la funcionalidad diferente de los archivos MSI?

Dhaiwat budh
fuente
Vea las respuestas a continuación, o tal vez lea sobre los beneficios corporativos de msi en serverfault.com. Este artículo describe en detalle los beneficios que se supone que producen los archivos MSI ...
Stein Åsmul

Respuestas:

7

MSI es el acrónimo de Microsoft Silent Installer, ejecuta el instalador .exe en segundo plano.

Se usa en GPO, por ejemplo, si desea implementar una aplicación en la infraestructura de Windows que está administrando, debe crear una nueva regla de GPO con el MSI y el MSI se instalará en cada máquina sin la intervención del usuario necesaria.

GPO es un "Objeto de directiva de grupo" que "proporciona la administración y configuración centralizadas de los sistemas operativos, las aplicaciones y la configuración de los usuarios en un entorno de Active Directory".

Ayunarse
fuente
1
GPO es un "Objeto de directiva de grupo" que "proporciona la administración y configuración centralizadas de los sistemas operativos, las aplicaciones y la configuración de los usuarios en un entorno de Active Directory".
RedGrittyBrick
55
... más como [M] icro [s] oft [I] nstaller. ¿De dónde diablos te has "callado"? No, los MSI no ejecutan ex PE en segundo plano (son capaces de hacerlo, pero esa no es su única función ni siquiera la principal).
Bob
3
The Windows Installer (previously known as Microsoft Installer) is a software component...- Wikipedia . Sí, MSI es el instalador de MicroSoft y no el instalador silencioso.
Jet
3
La mayor parte de esta respuesta es realmente incorrecta. Por favor, lea las otras respuestas en este hilo.
Stein Åsmul
Estoy escuchando este formulario completo Microsoft Silent Installerpor primera vez. Siempre supe que MSI es sinónimo de M ICRO s frecuentemente que nstaller`. ¿Tiene alguna cita oficial que lo diga?
RBT
11

¿Qué es un instalador? Bueno, un instalador prepara un sistema para permitir que se ejecute un programa: instala ese programa. Durante este proceso, un instalador (en Windows) puede copiar archivos en ubicaciones del sistema, colocar accesos directos para iniciarlo, actualizar bibliotecas, eliminar versiones anteriores, etc. No hay un estándar o formato de instalador universal; cualquier programa que realice estas acciones ("instala" otro programa) puede llamarse instalador.

Un archivo "exe" en Windows se conoce como el archivo ejecutable portátil y contiene instrucciones arbitrarias, ya sea código de máquina nativo o código de bytes .NET. No hay nada sobre el formato PE que lo identifique como un instalador. Por supuesto, con un código de máquina arbitrario puedes escribir un instalador, y los instaladores "exe" que ves adoptan ese enfoque.

Algunas personas escriben sus propios instaladores personalizados. Otros usan generadores instaladores para ahorrar algo de tiempo y esfuerzo; Estos incluyen NSIS, InnoSetup, InstallShield y más.

MSI es un formato específico que se utiliza para almacenar información sobre una instalación, una base de datos de los pasos a seguir y qué archivos colocar. Por sí mismo, no es ejecutable; en realidad es interpretado por msiexec.exeen sistemas Windows. Este intérprete seguirá los pasos establecidos en el archivo MSI. En teoría, podría crear cualquier exe que use una base de datos similar a MSI (y NSIS, InnoSetup, etc., haga algo similar).

Lo que hace que MSI sea especial es que está incluido e interpretado por herramientas integradas, y también está integrado en Active Directory para una implementación más fácil en muchas máquinas en un entorno corporativo, y la respuesta de Clem cubre eso con más detalle.

Beto
fuente
6

Los archivos MSI son archivos de base de datos (específicamente bases de datos MS-SQL) que describen la instalación a través de tablas de bases de datos e instalan a través de un conjunto complejo de secuencias de instalación definidas dentro del propio archivo MSI.

Los archivos MSI no se instalan como archivos EXE en segundo plano como escribe "Clem": son consumidos por Windows Installer Engine al que se puede acceder a través de la interfaz de línea de comandos msiexec.exe . O quizás pruebe las muestras de línea de comandos msiexec.exe anotadas del instalador avanzado . Luego, la instalación en sí se ejecuta a través de dos secuencias diferentes: la secuencia de la interfaz de usuario y la secuencia de instalación real ; esta última se ejecuta en el contexto del sistema utilizando la cuenta LocalSystem . Esta disposición es necesaria para permitir al instalador derechos de administrador temporales, o derechos elevados, que es el término apropiado.

Los instaladores de EXE pueden ser cualquier cosa. La mayoría de las veces son instaladores basados ​​en scripts de estilo antiguo que no se basan en bases de datos, pero un archivo EXE también puede ser un contenedor que contiene archivos MSI y componentes de tiempo de ejecución asociados. Todo depende y debe investigarse en cada caso particular.

Stein Åsmul
fuente