WiX 在 CustomActionData 中转义 XPath 括号

WiX escape XPath brackets in CustomActionData

我想调用自定义操作,这是一个延迟的 C# 方法,key/value 对包含 XPath,因此包含方括号。

我将动作定义为
<CustomAction Id= 'action1.smth' Property='action1' Value="TARGETXPATH=/configuration/application[\[]@name='xService'[\]]/@address/>

记录详细安装我可以看到自定义操作被称为 Executing op: CustomActionSchedule ... TARGETXPATH=/configuration/application[@name='xService']/@address

很好,但是当相同的值是 session.log-ed 我得到

'/configuration/application/@address'

我在调试自定义操作时弄明白了。结果 session.Log() 再次转义括号,因此错误的值被放入详细日志中,但除此之外,正确的值被传播到自定义操作。