Actualmente todas las actualizaciones funcionan bien cada vez que actualizo a un número de versión más reciente, sin embargo, estoy obteniendo un comportamiento extraño al degradar. Parece que desinstalará la versión existente y luego instalará parcialmente la versión que estoy tratando de instalar, el exe principal aún no existe en la ubicación de destino, pero se crearon accesos directos publicitados. Cuando se abra el acceso directo publicitado, terminará la instalación (presumiblemente se realizará una reparación) y se ejecutará correctamente.WiX "Major Upgrade" no instala completamente la aplicación en la versión anterior
¿Alguien tiene alguna idea de por qué sucede esto?
Mi bloque de actualización se parece a esto:
<UpgradeVersion Minimum="0.0.0.0" Maximum="99.0.0.0" Property="PREVIOUSVERSIONSINSTALLED" IncludeMinimum="yes" IncludeMaximum="no" IgnoreRemoveFailure="yes" />
(El IgnoreRemoveFailure fue un intento de solucionar este problema, pero no parece tener nada hecho)
En mi InstallExecuteSequence I han <RemoveExistingProducts After="InstallValidate" />
también he Product Id="*"
y Package Id="*"
El motivo por el que se necesita una versión anterior es porque la aplicación cliente debe ejecutar la misma versión que el servidor para garantizar la compatibilidad y todo el proceso debe automatizarse, de modo que si las versiones cliente/servidor no coinciden al iniciar sesión el usuario puede simplemente hacer clic en "sí" y la versión correcta se descarga, instala e inicia. Esto está funcionando hasta ahora para las actualizaciones, pero para las degradaciones se necesita un paso adicional poco intuitivo, que es reiniciar manualmente la aplicación y luego ver un cuadro de diálogo del instalador de Windows antes de que se inicie.
El resultado final es que independientemente de la actualización o degradación, la versión actual debe desinstalarse por completo y la versión descargada debe estar completamente instalada, por lo que si hay otra forma de hacerlo, también será una buena respuesta.
tengo un sinfín de problemas con este aún hoy en día. WiX agregó un nuevo elemento "MajorUpgrade" que se suponía que haría las cosas más difíciles de equivocarse. Estamos usando esto ahora, pero aun así, las rebajas tienen el mismo problema que antes. La diferencia ahora es que elimina un par de culpables: (1) InstallExecuteSequence (2) Elemento UpgradeVersion. – Trejkaz