Имеется файл .config со следующим содержимым:
<configuration>
<thingy>
<stuff>
<item type='value' />
<item type='value2' />
</stuff>
</thingy>
</configuration>
Чтобы удалить элемент item с атрибутом type, установленным в 'value', это похоже на хитрость:
<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"
/>
Этот XmlConfig
элемент определяется расширением Wix "Utility". Чтобы использовать это расширение, вы должны объявить пространство имен UtilExtension следующим образом:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
Вы также должны добавить -ext WixUtilExtension
к параметрам команды light.exe
или добавить ссылку на "WixUtilExtension.dll", если вы создаете проект wix с использованием votive в visual studio.