使用 NANT XmlPoke 更改 Wix 产品版本号
Change Wix Product version number using NANT XmlPoke
我最近 运行 遇到了这个问题 - 当我尝试使用 NANT XMLPOKE 任务替换 Wix 产品版本号时,returns 出现以下错误消息 "No matching nodes found"。
<xmlpoke file="..\Setup\abc.wxs" xpath="//Wix/Product[@Version]" value="${version.label}" >
最初我认为这是我编写的 XPATH 语句的问题。所以我一直尝试使用不同的 XPATH(比如 \Wix),但我一直收到相同的消息。
从博客了解到这是由于 WiX 元素的命名空间定义而发生的。请在下面找到解决方案,以防有人找不到该博客。
出现此问题的原因是 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>
我最近 运行 遇到了这个问题 - 当我尝试使用 NANT XMLPOKE 任务替换 Wix 产品版本号时,returns 出现以下错误消息 "No matching nodes found"。
<xmlpoke file="..\Setup\abc.wxs" xpath="//Wix/Product[@Version]" value="${version.label}" >
最初我认为这是我编写的 XPATH 语句的问题。所以我一直尝试使用不同的 XPATH(比如 \Wix),但我一直收到相同的消息。
从博客了解到这是由于 WiX 元素的命名空间定义而发生的。请在下面找到解决方案,以防有人找不到该博客。
出现此问题的原因是 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>