Wix 更新 bindingRedirect 值

Wix update bindingRedirect value

我有一个安装程序需要更改 app.config 中的 bindingRedirect 值。目前,我有:

    <util:XmlFile Id="Config"
      Action="setValue"
      ElementPath="configuration/runtime/assemblyBinding/dependentAssembly/assemblyIdentity[\[]@publicKeyToken='89845dcd8080cc91'[\]]/bindingRedirect/@newVersion"
      File="[INSTALLFOLDER]\app.config"
      Value="13.0.0.0"/>

但这会引发错误,因为它找不到节点。我猜这是因为 bindingRedirect 不是 assemblyIdentity 的子元素。

我将如何更新 newVersion 字段?

谢谢

您的元素路径不正确。这不是有效的 XPath 查询(具有特定于 msi 的转义)。您可能需要前导正斜杠。

这是这个问题的解决方案,如果其他人遇到这个问题!

    <util:XmlFile Id="Config"
      Action="setValue"
      ElementPath="configuration/runtime/assemblyBinding/dependentAssembly[\[]assemblyIdentity/@publicKeyToken='89845dcd8080cc91'[\]]/bindingRedirect/@newVersion"
      File="[INSTALLFOLDER]\app.config"
      Value="13.0.0.0"/>

并且config文件中的assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"需要改为assemblyBinding