2010-01-15 15 views

cevap

20

:

<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.

+1

ElementPath puan:

<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util" > 

Aksi takdirde hatası alırsınız VerifyPath'in ebeveyine. Çok yardımcı, teşekkürler! –

+0

WiX 3.6'yı kullanarak, mumya '-ext WixUtilExtension' eklemek zorunda kaldım. – Chris

4

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.

+0

V4 için bilgi eklediğiniz için teşekkürler –