¿Cómo se elimina/elimina un elemento de un archivo XML en WiX?Eliminación de elementos XML en WiX
Respuesta
Dado un archivo .config con el siguiente contenido:
<configuration>
<thingy>
<stuff>
<item type='value' />
<item type='value2' />
</stuff>
</thingy>
</configuration>
Para quitar el elemento de elemento con el atributo type definido como 'valor' esto parece hacer el truco:
<util:XmlConfig
On="install"
Action="delete"
Id="RemoveAnElement"
Node="element"
File="Application.dll.config"
VerifyPath="/configuration/thingy/stuff/item[\[]@type='value'[\]]"
ElementPath="/configuration/thingy/stuff"
Sequence="100"
/>
Este El elemento XmlConfig
está definido por la extensión Wix "Utility". Para utilizar esa extensión, tiene que declarar el espacio de nombres UtilExtension así:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
También hay que añadir a los -ext WixUtilExtension
light.exe
opciones de comando, o añadir una referencia a "WixUtilExtension.dll" si va a crear una Wix proyecto usando votivo en el estudio visual.
Sé que esto es viejo, pero busqué mi problema en todas partes y nunca pude encontrarlo hasta que finalmente tropecé con la respuesta. Entonces, al publicar aquí alguien lo encontrará útil.
Además de la respuesta anterior, si se utiliza V4.0 xmlns: util enlace debería tener este aspecto:
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"
xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util" >
de lo contrario obtendrá el error:
The Component element contains an unhandled extension element 'util:Blah'. Please ensure that the extension for elements in the 'http:⁄⁄schemas.microsoft.com⁄wix⁄UtilExtension' namespace has been provided.
Gracias por agregar la información para v4 –
- 1. Eliminación de elementos Wrapper de matriz serializada XML
- 2. Eliminación de archivos al desinstalar WiX
- 3. Xml Serialización sin eliminación
- 4. Scala: eliminación de espacio en blanco XML?
- 5. elementos de una célula Eliminación en Matlab
- 6. eliminación de elementos vacíos finales en Python
- 7. Eliminación de elementos no deseados en java
- 8. Eliminación dinámica de elementos de la lista
- 9. Python - eliminación de elementos de las listas
- 10. Lectura de un valor xml en una propiedad para Wix
- 11. Adición de atributos a los elementos existentes, la eliminación de elementos, etc con lxml
- 12. elementos XML vs Atributos
- 13. eliminación de Java PriorityQueue de elementos arbitrarios de rendimiento
- 14. Deserializar Xml con elementos vacíos en C#
- 15. Scala - modificando elementos anidados en xml
- 16. Eliminación de elementos de un ListView utilizando un BaseAdapter personalizado
- 17. Adición/eliminación de elementos de datos JSON con jQuery
- 18. Eliminación de elementos del conjunto de STL al iterar
- 19. Android: eliminación de elementos de una actividad ListView/ArrayAdapter
- 20. ¿Cómo generar WiX XML desde un archivo .reg?
- 21. Eliminación del borde fino alrededor de los elementos de menú
- 22. R: eliminación de los últimos elementos de un vector
- 23. Orden de elementos de esquema XML
- 24. ¿Qué contenedor STL debe realizar la eliminación de elementos intermedios?
- 25. XmlSerializer.Serialize Eliminación de la etiqueta <xml>
- 26. Java Set iterator, seguro para la eliminación de elementos?
- 27. ¿Cambiar mi GUID de componente en wix?
- 28. Cómo eliminar elementos de XML usando Python
- 29. Eliminación/eliminación de grupo en Xcode
- 30. Pedir elementos de superclase xml en la serialización de Java
puntos ElementPath al padre de VerifyPath. Muy útil, gracias! –
Usando WiX 3.6, también tuve que agregar '-ext WixUtilExtension' a la vela. – Chris