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()
再次转义括号,因此错误的值被放入详细日志中,但除此之外,正确的值被传播到自定义操作。
我想调用自定义操作,这是一个延迟的 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()
再次转义括号,因此错误的值被放入详细日志中,但除此之外,正确的值被传播到自定义操作。