¿Qué diferencias hay entre los ficheros .exe y .msi?

Rubén Castro, 7 abril 2020

Cuando vamos a instalar un programa en Windows normalmente tenemos dos tipos de ficheros diferentes: los ficheros ejecutables .exe de toda la vida y los ficheros .msi. ¿En qué se diferencian? ¿Cuál es mejor?

Ficheros EXE

Los ficheros EXE son conocidos como archivos ejecutables portátiles, y contienen instrucciones arbitrarias. No tiene por qué ser un fichero de instalación. Por supuesto, con un código arbitrario se puede escribir un instalador, y esos instaladores “.exe” que se ven adoptan ese enfoque.

Los ficheros EXE pueden ser cualquier cosa

Podemos programar nuestros ficheros de instalación a mano o podemos utilizar programas especiales como NSIS, InnoSetup, InstallShield, WiX Toolset, etc. que nos ayudarán a ahorrar tiempo.

Ficheros MSI

MSI (Microsoft Silent Installer) es un formato específico que se utiliza para almacenar información sobre una instalación y sus tareas relacionadas (reparación, cambios en lo instalado o desinstalación). Es como una base de datos que contiene los pasos que se deben seguir y qué archivos se deben poner en un lugar determinado.

Los ficheros MSI son instaladores

Además, algunos sistemas (en especial los equipos de empresa) no permiten la ejecución de cualquier ejecutable, por lo que la única opción de instalar algo es mediante un archivo MSI ya que no ejecuta nada, solo llama al servicio de instalación del propio sistema operativo, que es el que encarga de leer los datos de la base de datos y completar la instalación.

Estructura de un fichero MSI

Otra gran ventaja de los ficheros MSI es que pueden instalar de manera desatendida (sin cuadros de diálogos ni preguntas al usuario) lo que es especialmente útil en entornos empresariales. Y este, es quizás uno de los motivos por lo que los ficheros MSI son más populares en los entornos corporativos.

¿Qué es un fichero de instalación?

Un instalador prepara un sistema para permitir que un programa se ejecute: instala ese programa. Durante este proceso, un instalador (en Windows) puede copiar archivos en las ubicaciones del sistema, colocar accesos rápidos, actualizar bibliotecas, eliminar versiones anteriores, etc.

Sin embargo, no existe un estándar o formato universal de instalador; cualquier programa que realice estas acciones (“instala” otro programa) puede llamarse instalador.

Ver más
WikiVersus puede usar cookies para recopilar estadísticas, optimizar la funcionalidad del sitio y ofrecerte publicidad basada en tus intereses. Si sigues navegando estarás aceptando su uso. Más información de nuestras políticas.