Wix- 使用 属性 名称作为值时无法写入 XML 文件

Wix- Unable to write to XML file when using Property Name as Value

我试图在安装期间将一个值写入 XML 文件,该值来自用户在安装阶段填写的文本字段。 在我的安装程序的 GUI 文件中,我有以下 EditField:

 <Control Id="LogEdit" Type="Edit" X="45" Y="155" Width="100" Height="18"  Property="LOGVALUE" Text="{80}" />

在我的 Product.WXS 中,我添加了一个新的 属性,如下所示:

   <Property Id="LOGVALUE" Secure="yes"/>
   <SetProperty Id="LOGVALUE" Value="" After="AppSearch">LogValue</SetProperty> 

然后我创建了一个如下所示的新组件:

<Component Id="LogComponent"
    Guid="87F682A6-1CC0-4E2D-9882-25D765478F94" Directory='ContentDir' NeverOverwrite='yes' Permanent='yes'>
  <File Id="Logconfig"
        DiskId="1"
        Name="log.xml"
        Source="..\bin\log.xml"
        Vital="yes"
        KeyPath="yes" />

  <util:XmlFile Id="SetKey3"
                Action="setValue"
                ElementPath="/log/appender[\[]@type='log4net.Appender.RollingFileAppender'[\]]/file/@value"
                Value="[LOGVALUE]"
                File="[#Logconfig]"
                SelectionLanguage="XPath"
                Sequence="1" />

</Component>

我也已将此组件的引用添加到 . 问题是安装后什么都不会写入 XML 文件,However 如果我将 Value="[LOGVALUE]" 替换为Value="TEST" 等一些硬编码值在 util:XmlFile 部分有效。有什么想法是错误的来源吗?

您在下面的集合中将 LOGVALUE 的值设置为“”属性我认为将值设置为空会破坏它,将其设置为“[LOGVALUE]”或不设置因为 UI 正在设置 属性 值

<SetProperty Id="LOGVALUE" Value="" After="AppSearch">LogValue</SetProperty>