在Xml文件的值中使用百分比图表

时间:2012-02-10 10:33:55

标签: wix wix3.5 wix-extension log4net-appender

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

目标是让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"/>

我尝试了[]和%类似实体的各种替换(&amp;#91;,&amp;#93;和&amp;#37;),加倍,三倍,四倍但是值总是被称为环境变量或原因ICE03:字符串格式无效。

替换结果如下:

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

有没有办法让[%processid]强制为字符串,以便按预期插入?

1 个答案:

答案 0 :(得分:2)

认为我找到了解决方案:问题在于方括号!

如果您打开WIX文档并导航到“XmlFile元素”,则在“值”属性中显示:

  

要写的值。有关如何在值中转义方括号的信息,请参阅Formatted主题。

所以,只需查看上面的链接并更改文本,转出方括号,一切都应该正常工作! :)