Cómo gestionar múltiples instaladores (.exe y .msi) de una misma aplicación en Windows

Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

En entornos de escritorio o servidores Windows, es común encontrar una misma aplicación instalada a través de distintos métodos: mediante un instalador .exe o mediante un paquete .msi. Esta duplicidad puede generar conflictos, redundancias o confusión a la hora de realizar mantenimientos, automatizaciones o desinstalaciones.

Este artículo técnico explica cómo identificar y gestionar correctamente estos casos, dejando solo la instalación deseada y eliminando la redundante.

Escenario típico

Supón que una aplicación como 7-Zip, VLC, Git o cualquier herramienta administrativa ha sido instalada:

  • Manualmente por un usuario con un .exe
  • Y luego desplegada por IT mediante un .msi para control centralizado

Esto puede dar lugar a que el sistema tenga dos entradas en "Aplicaciones y características", o que haya conflictos de versiones.

Paso 1: Detectar las instalaciones presentes

1.1. Desde la GUI

Ve a:

Inicio → Configuración → Aplicaciones → Aplicaciones instaladas

Busca el nombre de la aplicación y revisa si aparece más de una entrada.

1.2. Desde PowerShell

Puedes listar las aplicaciones instaladas con:

Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like "*NombreApp*" } | Select-Object Name, Version, IdentifyingNumber

O para buscar en el registro (más rápido y preciso, ideal para grandes entornos):

Get-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*" |
Where-Object { $_.DisplayName -like "*NombreApp*" } |
Select DisplayName, DisplayVersion, UninstallString

También consulta la rama de 32 bits si estás en un SO de 64 bits:

Get-ItemProperty "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" |
Where-Object { $_.DisplayName -like "*NombreApp*" }

Paso 2: Identificar el tipo de instalador

Diferencias:

  • .exe suele tener desinstaladores personalizados (por ejemplo: uninstall.exe)
  • .msi está registrado con un GUID (Product Code) y puede desinstalarse con msiexec

Claves:

  • Si ves una línea como msiexec /x {GUID}, es .msi
  • Si ves una ruta tipo C:\Program Files\...\uninstall.exe, es .exe

Paso 3: Desinstalar el instalador no deseado

A. Desinstalación de .msi:

Desde PowerShell o CMD (requiere GUID):

msiexec /x "{GUID_DEL_PRODUCTO}" /qn

Donde /qn fuerza el modo silencioso (sin GUI).

B. Desinstalación de .exe:

Ejecuta directamente el desinstalador (cuando disponible):

& "C:\Ruta\de\la\aplicacion\uninstall.exe" /S

Algunas aplicaciones también permiten parámetros como /quiet o /norestart.

Paso 4: Validar la instalación restante

  1. Verifica que la aplicación sigue operativa (interfaz gráfica o CLI).
  2. Ejecuta NombreApp.exe --version si lo permite, para confirmar que la versión activa es la esperada.
  3. Asegúrate de que solo queda una entrada en "Aplicaciones instaladas".

Buenas prácticas

  • Centraliza instalaciones con .msi siempre que sea posible (mejor integración con GPO, Intune, SCCM).
  • Usa .exe solo cuando el proveedor no proporcione .msi o se requieran parámetros personalizados no soportados por MSI.
  • Documenta y automatiza los procesos de instalación/desinstalación.
  • Si usas herramientas como Chocolatey, Winget o Scoop, prioriza su uso como método único para evitar duplicidad.

Ejemplo real: Desinstalar Git instalado con .exe y dejar solo el .msi

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | 
Where-Object { $_.DisplayName -like "*Git*" }

# Si encuentras la ruta "unins000.exe":
& "C:\Program Files\Git\unins000.exe" /S

Herramientas útiles

  • Get-WmiObject, Get-ItemProperty: para auditar
  • msiexec: para instalar/desinstalar .msi
  • uninstall.exe, unins000.exe: para .exe
  • Winget: útil para instalaciones modernas controladas
  • Chocolatey: control de versiones, scripts y automatización
Binario 0
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.