2010-01-15 2 views

답변

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" 
/> 

이 :

<configuration> 
<thingy> 
    <stuff> 
    <item type='value' /> 
    <item type='value2' /> 
    </stuff> 
</thingy> 
</configuration> 

은 '가치'로 설정 유형의 속성 항목 요소를 제거하려면이 트릭을 할 것 같다 XmlConfig 요소는 Wix "유틸리티"확장에 의해 정의됩니다. 이 확장 기능을 사용하려면이 같은 UtilExtension 네임 스페이스를 선언해야 :

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
    xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> 

을 당신은 또한 당신이 윅스를 제작하는 경우 light.exe 명령 옵션에 -ext WixUtilExtension을 추가하거나 기준을 "WixUtilExtension.dll"를 추가해야 비주얼 스튜디오에서 봉헌을 사용하는 프로젝트.

+1

ElementPath 포인트 :

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

그렇지 않으면 당신이 오류가 발생합니다 VerifyPath의 부모에게. 매우 도움이됩니다. 감사합니다! –

+0

WiX 3.6을 사용하여 필자도 촛불에'-ext WixUtilExtension'을 추가해야했습니다. – Chris

4

나는 이것이 오래되었음을 알고 있지만, 내 문제를 도처에서 찾았고 결국 답을 찾지 못했습니다. 그래서 여기에 누군가를 게시하면 유용 할 것입니다. 위의 대답에 추가

, V4.0의 xmlns를 사용하는 경우 : 링크 util을 다음과 같아야합니다

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 정보를 제공해 주셔서 감사합니다. –