¿Cómo agregar una acción personalizada de WiX que ocurre solo al desinstalar (a través de MSI)?

Resuelto asked hace 15 años • 0 respuestas

Me gustaría modificar un instalador MSI (creado a través de WiX ) para eliminar un directorio completo al desinstalarlo.

Entiendo las opciones RemoveFiley RemoveFolderen WiX, pero no son lo suficientemente sólidas como para eliminar de forma recursiva una carpeta completa que tiene contenido creado después de la instalación.

Noté la pregunta similar de Stack Overflow Eliminación de archivos al desinstalar WiX , pero me preguntaba si esto se podría hacer de manera más simple usando una llamada a un script por lotes para eliminar la carpeta.

Esta es la primera vez que uso WiX y todavía me estoy familiarizando con las acciones personalizadas . ¿Cuál sería un ejemplo básico de una acción personalizada que ejecutará un script por lotes durante la desinstalación?

 avatar Nov 26 '08 21:11
Aceptado

EDITAR : Quizás mire la respuesta que se encuentra inmediatamente debajo .


Este tema ha sido un dolor de cabeza durante mucho tiempo. Finalmente lo resolví. Hay algunas soluciones en línea, pero ninguna funciona realmente. Y por supuesto no hay documentación. Entonces, en el cuadro a continuación hay varias propiedades que se sugieren usar y los valores que tienen para varios escenarios de instalación:

texto alternativo

Entonces, en mi caso, quería una CA que se ejecutara solo en las desinstalaciones, no en las actualizaciones, ni en las reparaciones ni en las modificaciones. Según la tabla anterior tuve que usar

<Custom Action='CA_ID' Before='other_CA_ID'>
        (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>

¡Y funcionó!

 avatar Apr 08 '2009 20:04

Hay varios problemas con la respuesta de yaluna , además los nombres de las propiedades distinguen entre mayúsculas y minúsculas, Installedla ortografía es correcta ( INSTALLEDno funcionará). La tabla anterior debería haber sido esta:

ingrese la descripción de la imagen aquí

También suponiendo una reparación y desinstalación completa, los valores reales de las propiedades podrían ser:

ingrese la descripción de la imagen aquí

La documentación de sintaxis de expresión de WiX dice:

En estas expresiones, puede utilizar nombres de propiedades (recuerde que distinguen entre mayúsculas y minúsculas).

Las propiedades están documentadas en la Guía del instalador de Windows (por ejemplo, Instalado )

EDITAR: Pequeña corrección a la primera tabla; Evidentemente, "Desinstalar" también puede ocurrir con solo REMOVEestar True.

ahmd0 avatar Jul 12 '2013 05:07 ahmd0