Мне нужно использовать процентное значение в атрибуте value элемента XmlFile, чтобы настроить путь для приложения-аппликатора 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"/>
Я пробовал несколько различных замен для [] и%, таких как сущности ([,] и%), удвоение, утроение, четырехкратное увеличение, но значение всегда упоминается как переменная среды или вызывает ICE03: неверный формат строки.
Результат замены выглядит так:
<file type="log4net.Util.PatternString" value="<inserted LOGPATH>Log_.log"/>
Есть ли способ получить [% processid] принудительно в виде строки, чтобы вставить его как положено?