Pregunta

Tengo con éxito mi prueba de concepto MSI Installer creando un archivo XML y actualizando los elementos como lo desee en una nueva instalación. Tengo 6 características, si la función se selecciona para instalarse, quiero un nodo creado para esa función y un conjunto de atributos basado en una propiedad.

Si modifico la instalación y elimino una función instalada previamente, quiero que el nodo XML creado para que persista y Deseo establecer el atributo que configuré en la instalación para actualizar en función de la misma propiedad (que ahora tiene un valor diferente).

¿Es posible aprovechar la funcionalidad existente de InstallShield para hacer esto? Parece que podría, y evite escribir una acción personalizada para actualizar mi XML al eliminar una función. No parece haber mucha documentación sobre isxmlcfg.dll y las acciones personalizadas en él.

El CA isxmluninstall se ejecuta cuando elimino una función, pero parece que todo lo que hace la acción es eliminar el nodo o dejarlo ...

¿Fue útil?

Solución

El problema que probablemente esté encontrando es el hecho de que, aunque usó la propiedad en algo (digamos Registro, INI o XML), el instalador de Windows no persiste de forma nativa en su base de datos. Tienes que hacer esto tú mismo. Entonces, si desea hacer una reparación, cambiar, actualizar o lo que sea, y desea tener los mismos datos de propiedad, no solo tiene que guardarlo en algo (digamos XML), sino que también debe tener una APPSearch de Corresponding (XMLSearch) Eso puede retirarlo de regreso a la propiedad para que tenga un valor que se muestre durante la interfaz de usuario y / / / o volver a XML más tarde.

También considere apoyar un patrón en el que se lea en una propiedad TEMP y se asigne a la propiedad real solo si la propiedad inmobiliaria aún no tiene un valor. De esa manera, alguien podría estar haciendo una instalación silenciosa (actualización) y pasar a la propiedad como una anulación de lo que estaba configurado anteriormente. (Sin golpear por la búsqueda)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top