2009-05-24 14 views
44

Siempre me he preguntado sobre esto. Muchas configuraciones de aplicaciones tienen un archivo zip que descomprime, y en él hay muchos archivos, entre otros, un exe y un msi. ¿Cuál es la diferencia? A menudo tienen incluso el mismo tamaño. Nunca estoy realmente seguro de cuál ejecutar, a veces hago el exe y a veces el msi, y generalmente funciona con cualquiera de los dos. Pero, ¿alguno de ellos hace algo que el otro no hace? Y si no, ¿no es un desperdicio tener dos archivos que hacen lo mismo? Especialmente cuando se piensa en el tamaño de descarga, etc ...¿Por qué tantos programas tienen un setup.exe y un setup.msi?

No estoy seguro de si esto debería estar aquí o en ServerFault, o quizás ninguno, pero pensé que dado que los desarrolladores suelen crear archivos de configuración, los desarrolladores podrían saber por qué es como es =)

+0

A menudo me he preguntado lo mismo. Y, creo que esto pertenece aquí. –

+0

Aquí hay una respuesta más reciente: http://stackoverflow.com/a/23815524/129130 –

Respuesta

36

En el caso en que tenga tanto el exe como el msi, el exe es solo un cargador para el msi. Si tiene una instalación compatible con varios idiomas, el exe aplica una transformación de idioma (mst) en el msi antes de la instalación.

Puede considerar el exe como un contenedor alrededor del msi. El archivo msi puede o no ser dado por separado. La razón por la cual las personas también entregan el archivo msi es para facilitar la instalación de una directiva de grupo (en una infraestructura de Windows Active Directory) ya que solo puede empujar hacia abajo las instalaciones de los archivos msi y no las externas.

+16

+1, el exe también podría verificar algunos requisitos previos para el msi, como la versión de Windows Installer – Lucas

13

La instalación real se realiza en el MSI. Como dijo Prashast, el exe es solo un contenedor, pero la razón para tener el exe es que siempre es posible ejecutar un exe. Si el usuario no tiene MS Installer instalado en la computadora, o si su versión de MS Installer es anterior a la versión requerida por su instalación, entonces no es posible ejecutar el archivo MSI.

El exe proporciona la instalación automática de MS Installer (incluyendo algunas preguntas para el usuario si quiere hacerlo) antes de ejecutar el archivo MSI. En la mayoría de los casos, los paquetes de instalación necesarios para Microsoft Installer se incluyen dentro de setup.exe, o algunas veces es solo la verificación de requisitos previos con un enlace para descargar la instalación de Microsoft.

20

El setup.exe es un contenedor para el MSI, pero no es solo un contenedor.

  • El setup.exe puede confiar en un setup.ini para definir los parámetros
  • Los setup.exe cheques para el instalador de Windows (un MSI no se puede instalar otro tipo)
  • El setup.exe puede comprobar si hay marcos, como el marco .NET. El desarrollador puede elegir uno de los definidos en C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages (para Visual Studio 2008). Si se carece, intentará descargarlo de http://www.microsoft.com/
  • El setup.exe puede ser reconfigurado con msistuff.exe
2

En palabras muy básicas,

se puede entregar sólo el archivo .msi y se instalará . pero .exe no funcionará sin .msi

+2

** Esta respuesta es incorrecta **. Una 'configuración.El programa exe' puede ser un montón de código que a su vez descomprime archivos, los copia en su disco duro y los registra con el registro o cualquier combinación de los mismos. No NECESITA tener un MSI para instalar una aplicación si el programa 'setup.exe' está escrito de esta manera o creado con un administrador de paquetes como' InstallShield' sin las opciones de MSI elegidas. –

Cuestiones relacionadas