使用NANT XmlPoke更改Wix产品版本号

时间:2015-06-17 22:00:09

标签: build wix nant wix3.9

我最近遇到了这个问题 - 当我尝试使用NANT XMLPOKE任务替换Wix产品版本号时,它返回以下错误消息"找不到匹配的节点"。

<xmlpoke file="..\Setup\abc.wxs" xpath="//Wix/Product[@Version]" value="${version.label}" >

最初我认为这是我写的XPATH语句的问题。所以我一直在尝试使用不同的XPATH(比如\ Wix),我不断收到相同的消息。

从博客中了解到,由于使用WiX元素进行名称空间定义,这种情况正在发生。如果有人找不到博客,请在下面找到解决方案。

1 个答案:

答案 0 :(得分:0)

由于Wix元素中的命名空间定义,问题发生了。您必须添加以下更改才能使XMLPOKE正常工作:

<xmlpoke file="..\Setup\abc.wxs" xpath="//wx:Wix/wx:Product/@Version" value="${version.label}" >
      <namespaces>
        <namespace prefix="wx" uri="http://schemas.microsoft.com/wix/2006/wi" />
      </namespaces>
    </xmlpoke>

参考:Soledad Pano's blog