在XmlFile的值中使用百分比字符



在安装应用程序时,我需要使用XmlFile元素的value属性中的百分比字符来配置log4net滚动文件附加程序的路径。

目标是让log4net像这样配置

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
   <file type="log4net.Util.PatternString" value="Log_[%processid].log" />
   ...
</appender>

基本wix代码如下所示:

<util:XmlFile
   Id="RollingFileAppenderLogPath"
   File="[INSTALLLOCATION]log4net.config" Action="setValue" Permanent="yes"
   ElementPath="/log4net/appender[[]@name='RollingFileAppender'[]]/file" Name="value"
   Value="[LOGPATH]Log_[%processid].log"/>

我已经尝试了[]和%like实体(&#91;、&#33;和&#37;)的各种替换,加倍、三倍、四倍,但该值总是作为环境变量提及或导致ICE03:无效的字符串格式。

替换结果如下:

<file type="log4net.Util.PatternString" value="<inserted LOGPATH>Log_.log"/>

有没有一种方法可以将[%processid]强制为字符串,以便按预期插入?

我想我找到了解决方案:问题出在方括号上!

如果打开WIX文档并导航到"XmlFile元素",则在"Value"属性上显示:

要写入的值。有关如何转义值中的方括号的信息,请参阅格式化主题。

所以,只需勾选上面的链接并更改文本,去掉方括号,一切都会很好!:)

相关内容

  • 没有找到相关文章

最新更新