Bir öğeyi WiX'deki bir XML dosyasından nasıl silebilir/silebilirsiniz? Aşağıdaki içeriğe sahip bir .config dosya VerilenWiX öğesinde XML öğelerini silme
cevap
:
<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"
/>
Bu:
<configuration>
<thingy>
<stuff>
<item type='value' />
<item type='value2' />
</stuff>
</thingy>
</configuration>
'değer' olarak ayarlanır type özelliği öğe elemanı çıkarmak için bu hileye neden olabilir XmlConfig
öğesi, Wix "Utility" uzantısı tarafından tanımlanmıştır. Bu uzantıyı kullanmak için, böyle UtilExtension ad beyan etmek zorunda:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
Ayrıca bir wix yazma eğer light.exe
komut seçeneklerine -ext WixUtilExtension
ekleyebilir veya bir başvuru için "WixUtilExtension.dll" eklemek zorunda Görsel stüdyonda adalet kullanarak proje.
Bunun eski olduğunu biliyorum, ama sorunum için her yeri aradım ve sonunda cevabın üzerine çıkana kadar asla bulamadım. Bu yüzden belki de birileri buraya yazarak yararlı bulacaktır. Yukarıdaki cevap ilaveten
, V4.0 xmlns kullanılıyorsa: linke util şu şekilde görünmelidir:
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.
V4 için bilgi eklediğiniz için teşekkürler –
ElementPath puan:
Aksi takdirde hatası alırsınız VerifyPath'in ebeveyine. Çok yardımcı, teşekkürler! –
WiX 3.6'yı kullanarak, mumya '-ext WixUtilExtension' eklemek zorunda kaldım. – Chris