windows-installer uninstall installshield-le

windows installer - ¿Cómo hacer que InstallShield LE desinstale la instalación existente automáticamente?



windows-installer uninstall (3)

InstallShield LE, al igual que el Proyecto de instalación anterior, permite la instalación de una nueva versión del producto que reemplazará la versión instalada anteriormente. En cuanto a si es técnicamente una desinstalación del producto anterior, o una actualización en el lugar parece de poca importancia.

La clave está en la diferencia entre el Código de producto y el Código de actualización :

  • Código del producto: dado que este código identifica de forma exclusiva su producto, no se recomienda cambiar el código del producto después de que ya haya distribuido su versión.

  • Código de actualización: el código de actualización, almacenado en la propiedad UpgradeCode, debe permanecer igual para todas las versiones de un producto.

(Este texto es directamente de la biblioteca de ayuda de InstallShield LE).

No es exactamente sencillo cómo utilizar estos códigos para implementar productos y actualizaciones de versión del mismo producto.

El texto de ayuda hace que parezca que nunca debes cambiar el código del producto. Este no es el caso. Probablemente debería escribirse más claramente para decir "Dado que este código identifica de forma única la versión de su producto, no se recomienda cambiar el código del producto después de que ya haya distribuido una versión particular " ... o algo así.

Básicamente, debe cambiar el Código de producto al crear una nueva versión para lanzar. Deje el código de actualización solo! Para cambiar el Código de producto, haga clic en el botón {..} a la derecha del código. InstallShield LE generará un nuevo código.

Mi procedimiento estándar es cambiar las versiones de mis proyectos, generar un nuevo código de producto y crear el proyecto de instalación InstallShield.

Al instalar el producto en una máquina con una versión anterior ya instalada, el proyecto de instalación lo actualizará y dejará solo una versión (la última) del programa instalada en la máquina de destino.

es posible?

Básicamente, todo lo que puedo ver es que necesito usar herramientas de terceros (por ejemplo, Orca) para obtener GUID de mis MSI existentes y configurar InstallShield con estos para desinstalar la versión existente. He intentado uno o dos de estos conjuntos de instrucciones, pero nada ha funcionado hasta ahora. Probablemente porque estoy haciendo algo mal, pero parece que estoy saltando a través de muchos aros para hacer algo que creo que debería ser relativamente sencillo. ¿No se ha resuelto este problema antes?

El resultado superior en google apunta a esta respuesta :

  • abra su antiguo MSI con Orca y obtenga su código de actualización de la tabla de propiedades
  • en su proyecto InstallShield LE vaya a "Información general" en el explorador de soluciones
  • asegúrese de que el campo "Código de actualización" esté configurado en su antiguo Código de actualización de MSI

¿Esto significa que tengo que abrir mi ''MSI antiguo con Orca y obtener su UpgradeCode'' cada vez que quiera implementar una nueva versión?

Esto suena un poco trillado, y ciertamente es algo que no quiero tener que hacer cada vez que despliegue una nueva versión. Hay alguna manera de automatizar esto? ¿Esta funcionalidad está disponible en versiones más avanzadas de InstallShield? (Teniendo en cuenta que estoy en LE: actualizaré si es necesario)


Según tengo entendido, la respuesta de YJelton es correcta, pero si desea asegurarse de que se elimine el producto anterior, debe agregar un elemento MajorUpgrade a la tabla de actualización. Si mantiene el código de actualización igual (como se recomendó), puede seleccione la opción "Productos que comparten mi Código de actualización" y para la Versión del producto puede seleccionar "Cualquier versión anterior".

De esta manera, si el Código de actualización es el mismo que su producto anterior, y su nuevo producto tiene un número de versión posterior, el producto anterior se eliminará.

Si desea cambiar el código de actualización, puede agregar un elemento de MajorUpgrade que tenga seleccionada la opción "Productos que tienen otro Código de actualización". Luego pegue su antiguo código de actualización.


Vaya a "ruta de actualización" y configure la versión mínima en blanco, ver máx. a la corriente. incluya max / min a yes y configure todos los identificadores de código en un guid.