Hoy aprenderemos a convertir un ejecutable EXE a un instalador MSI usando MSI Wrapper. Esto es muy útil para instalar programas mediante GPO y solo contamos con el archivo EXE. Convertirlo a MSI nos permitirá realizar una instalación centralizada y simplificada en varios equipos a la vez.
Lo bueno de esto es que también podremos lanzar actualizaciones de los programas, por cada versión del EXE generaremos un MSI y lo desplegaremos por GPO. Lo tengo comprobado y funciona!
Tabla de contenidos
Descargar e instalar MSI Wrapper en Windows
Vamos a ello, primero descargamos el programa MSI Wrapper, tiene versión gratuita y de pago, para nuestro proposito nos vale la gratuita.
La instalación no tiene misterio, ejecutamos el instalador y damos a siguiente – siguiente…
Teoría
Antes de empezar a convertir el EXE a MSI, creo que es necesario explicar unos conceptos sobre los instaladores MSI.
- Application ID: Es una cadena de texto única que identifica el programa instalado.
- Upgrade Code: Es un identificador que permanece constante a través de diferentes versiones de un mismo producto. Este código se utiliza para agrupar todas las versiones relacionadas de una aplicación, lo que facilita las actualizaciones.
Convertir instalador EXE de Winrar instalador MSI
Despúes esta mini-teoría, lo primero que tienes que hacer es instalar el programa (EXE) en el PC ya que necesitaremos saber su Application ID, esto es fundamental para evitar problemas.
En mi caso voy a explicarlo con el programa Winrar. Instalaremos la versión 6.24 de Winrar. Una vez instalado abrimos MSI Wrapper y clicamos en Next.
Instalador EXE
En el primer apartado de esta ventana localizamos el instalador exe del programa, luego elegimos la plataforma (32 bits o 64 bits).
En el segundo apartado elegimos la ruta y el nombre donde se guardará el instalador MSI. Por defecto es la misma ruta donde se encuentra el instalador EXE. Clicamos en Next para continuar.
En esta pantalla dejamos todo por defecto y clicamos en Next
Aquí también dejamos todo por defecto y clicamos en Next
Application ID y Upgrade code
Aquí viene lo más importante: necesitamos encontrar el Application ID de la instalación del programa en EXE. Si dejamos este campo vacío, MSI Wrapper generará un ID de forma aleatoria, además del ID generado por el EXE, lo que hará que Windows lo interprete como si estuviéramos instalando dos programas diferentes (como se muestra en la imagen de abajo)
Problemas que podemos tener al generar el MSI sin establecer un Application ID.
Antes de ejecutar MSI Wrapper, hemos instalado el programa con el instalador EXE (en mi caso, WinRAR). Esta instalación debería haber generado un Application ID definido por el fabricante. Para conocer este ID, hacemos clic en Look Up; en mi caso, vemos que el fabricante estableció el Application ID como WinRAR Archiver.
Vamos a seleccionar este ID y clicamos en Select. Tu tendrás que hacer lo mismo con tu aplicación
En Upgrade Code, vamos a generar un código nuevo (Create New) y este se guardará y se reutilizará si es que más adelante creamos nuevas versiones (MSI) del programa. Si no usamos el mismo código tendremos conflictos como el mencionado anteriormente.
{6F8FBD14-EAE5-4E26-B8A9-DAEDABD895F3}
Luego, hacemos clic en Next para continuar
Aquí clicamos en Next
Si deseas agregar información adicional, yo no toco nada de esto, clicamos en Next
Parámetros de instalación y desinstalación silenciosa
Aquí añadimos los parámetros que se usará al instalar/desinstalar, como por ejemplo la opción /S (instalar/desinstalar de forma silenciosa). Tienes que estar seguro que tu instalador EXE es compatible con estas opciones.
Aqui tampoco añado nada. Clicamos en Next
Casi estamos terminando, clicamos en Build para crear el paquete MSI a partir del instalador EXE. Aparecerá un cuadro emergente informando que al no disponer de la versión de pago, se añadira un texto «UNREGISTERED….» en el programa instalado, cosa que más adelante lo podremos modificar con el programa Orca.
Así se mostraría el programa si es que no lo editamos con Orca
Finalmente, si todo ha ido bien, nos mostrará que el paquete MSI se ha completado.
Antes de que se te ocurra lanzarlo por GPO hay que probarlo ejecutando el MSI, si se ejecuta de forma silenciosa y aparece en programas de Windows, todo ha ido bien.
Quitar «marca de Agua» con Orca
Si quieres quitar el texto adicional por no tener el programa de pago, te recomiendo que instales Orca, un programa para editar los instaladores MSI.
Editamos el archivo, nos vamos a las propiedades (Property) y editamos el valor de la propiedad «ProductName. Como puedes obsevar, sale un «chorizo bien largo», lo cambiamos a Winrar o Winrar 6.2.4, lo que desees.
Nuevos instaladores MSI con nuevas versiones del programa
Aquí puedes observar como podemos tener varias versiones del programa MSI, los pasos son los mismos, solo recuerda usar el mismo UpgradeCode y Application ID (dependerá del fabricante, pero al venir de un instalador EXE, en principio también será el mismo). Esto últmo lo he comprobado con otros instaladores EXE y la Application ID tampoco varía.
Instalar Winrar por GPO usando el instalador MSI
Ahora que ya tenemos el MSI y has comprobado que funciona correctamente ejecutando el MSI en un PC de prueba, ya puedes instalarlo en varios equipos por GPO. Aquí te dejo un post de cómo hacerlo.
¡Y listo! Ahora ya sabes cómo convertir un instalador EXE a un archivo MSI usando MSI Wrapper, lo cual te permitirá distribuir aplicaciones de manera centralizada en múltiples equipos con facilidad.
Recuerda probar siempre tu paquete MSI en un equipo de prueba antes de desplegarlo por GPO para asegurarte de que todo funciona correctamente.
Si tienes dudas, déjamelo en los comentarios, nos vemos en el siguiente post