En algunas ocasiones, la instalación de un AHORA Install falla al intentar desinstalar la versión anterior residente en el equipo.



En versiones antiguas de AHORA Install siempre se usaba la ruta de package cache para dejar una copia del msi, comportamiento por defecto de los instaladores de windows. Sin embargo nos percatamos que entre cambios de versiones la desinstalación del msi no borraba el fichero de la caché, con lo que se consumía mucho espacio en disco con copias obsoletas que nunca se borraban. 


Para evitar este comportamiento se activó el trabajo sin caché, aunque por lo observado Windows sigue referenciando una ruta que ni se crea ni se usa. Es decir, esa ruta que almacena Windows como referencia debe de ser una ruta adicional por si no encuentra el msi en c:\windows\installer, donde sí debe de existir la copia de AHORA Install hasta que se procede a su desinstalación.


En algunos equipos con ciertos antivirus (Kaspersky, ESET) se está borrando automáticamente la copia del msi en c:\windows\installer dando el error indicado.


En todo caso, si se desea evitar este problema en el futuro, se puede desinstalar AHORA Install una vez instalados los componentes. Es decir:

  1. Se ejecuta la versión a instalar, por ejemplo HOTFIX27 y se aplican los módulos necesarios (API, servicio, Hotfix, etc)
  2. Una vez acabe el proceso se vuelve a entrar en AHORA Install y se le da a la opción desinstalar sin marcar el check de todos los componentes, de esta forma sólo se eliminará AHORA Install, conservando todo lo instalado.


De esta forma, la siguiente vez que se aplique un Hotfix no necesitará desinstalar la versión anterior de AHORA Install y no volverá a dar el error.


Para solucionar el error en un equipo en el que el antivirus ya ha actuado es necesario copiar el fichero msi y usarlo de origen. Para ello se deberá instalar en otro equipo un AHORA Install de la misma versión que se desea desinstalar, desplegando todos los componentes del mismo, incluido el msi. 


Una vez instalado en otro equipo (que no tenga el antivirus), se debe usar el siguiente comando desde una ventana de símbolo de sistema para localizar la ruta exacta donde se ha alojado el msi necesario para copiar en el equipo afectado.


wmic product where "Name like '%AHORA%'" get Name, InstallDate, InstallSource, LocalPackage



El resultado del campo LocalPackage da la ubicación del msi que corresponde con el AHORA Install desplegado. Simplemente copiando este msi en una carpeta del equipo afectado, y seleccionándolo cuando de el error al intentar desinstalar el existente, se procederá a la eliminación del mismo.


No obstante, el problema podría repetirse si no se añade los módulos y ejecutables de AHORA Install a la lista de exclusión del antivirus. 


Como solución extrema en aquellos casos con versiones muy antiguas en las que no deja desinstalar ni copiando manualmente el MSI, la solución pasa por eliminar las referencias manualmente desde el registro de windows (regedit) y las carpetas asociadas a la ruta de desinstalación.

  1. Eliminar la carpeta física de la ruta C:\ProgramData\Package Cache\{5E08784F-7DF7-48D2-9797-F5897C57CB30}v4.X.XXXX.X, cambiando las X's por los valores correspondientes de la versión instalada.
  2. Eliminar el registro de desinstalación usando la utilidad regedit. de windows Equipo\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{5E08784F-7DF7-48D2-9797-F5897C57CB30}
  3. Probar a instalar la nueva versión desde el Asistente de Instalación. Es posible que no muestre la pantalla de selección de módulo, instalando simplemente la nueva referencia del MSI.
  4. Desinstalar la versión de AHORA Install desplegada como paso previo necesario a la eliminación manual de los ficheros desplegados con la versión anterior, todavía residentes en el equipo.
  5. Eliminar manualmente la carpeta de despliegue de AHORA Install normalmente situada en C:\Program Files\AHORA\AHORA Install. De esta forma quitaremos ficheros antiguos como, por ejemplo, el fichero del hotfix de la versión anterior. De no hacerlo, es posible que la instalación de la nueva versión no reemplace el fichero sql y aplique un hotfix que no es el correcto.
  6. Volver a instalar la versión nueva de AHORA Install verificando que los archivos desplegados en la ruta anterior son los correctos. Para ello simplemente con entrar en la carpeta Hotfix veremos si el fichero sql del hotfix corresponde al de la versión instalada.

En cualquier caso, si tras los dos primeros puntos sigue sin permitir la desinstalación/instalación del nuevo AHORA Install, se debe buscar desde Regedit las ocurrencias de la cadena {5E08784F-7DF7-48D2-9797-F5897C57CB30} que podrían interferir con el proceso, eliminándolas manualmente.