删除WiX中的XML元素

Dav*_*ner 18 xml wix wix3

如何从WiX中的XML文件中删除/删除元素?

Dav*_*ner 20

给定一个包含以下内容的.config文件:

<configuration>
 <thingy>
  <stuff>
   <item type='value' />
   <item type='value2' />
  </stuff>
 </thingy>
</configuration>
Run Code Online (Sandbox Code Playgroud)

要删除type属性设置为'value'的item元素,这似乎可以解决问题:

<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"
/>
Run Code Online (Sandbox Code Playgroud)

XmlConfig元素由Wix"Utility"扩展名定义.要使用该扩展,您必须声明UtilExtension命名空间,如下所示:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
   xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
Run Code Online (Sandbox Code Playgroud)

您还可以添加-ext WixUtilExtensionlight.exe命令选项,或者添加引用"WixUtilExtension.dll"如果你在创作使用Visual Studio中奉献一个WiX的项目.