WIX安装程序:无法设置多个appSettings节点

时间:2014-10-14 17:57:25

标签: xml xpath wix installer

我在wix安装程序中有以下内容:

<util:XmlFile Id="leID4" File="[INSTALLFOLDER]app.config" Sequence="5"
                      Action="setValue" ElementPath="/configuration/appSettings/add[\[]@key='JobProcessorTimerInterval'[\]]/@value" Value="60000" Permanent="yes" />

<util:XmlFile Id="leID5" File="[INSTALLFOLDER]app.config" Sequence="6"
                      Action="setValue" ElementPath="/configuration/appSettings/add[\[]@key='FromEmail'[\]]/@value" Value="[FROMEMAIL]" Permanent="yes" />

这是我的app.config文件:

<configuration>
<appSettings>
    <add key="FromEmail" value="test@hotmail.com" />
    <add key="JobProcessorTimerInterval" value="60000"/>
</appSettings>
</configuration>

当我运行安装程序时,我收到以下消息:

  

enter image description here

我尝试了多条路径,但似乎无法让它正常工作。谁能看到我错在哪里?

1 个答案:

答案 0 :(得分:3)

你能试试下面的吗? WIX文档声明:

  

&#34; setValue - 设置ElementPath中指定的元素中的值。如果   指定名称,并将具有该名称的属性设置为该值   在Value中指定。如果未指定Name,则为文本值   元素设置。如果setValue是,则值是必需属性   指定的行动。&#34;

    <util:XmlFile Id="leID4" 
                        File="[#filename]" 
                        Sequence="5"
                        Action="setValue" 
                        ElementPath="//appSettings/add[\[]@key='JobProcessorTimerInterval'[\]]" 
                        Name="value" 
                        Value="60000" 
                        Permanent="yes" 
                        SelectionLanguage="XPath" />

    <util:XmlFile Id="leID5"
                        File="[#filename]" Sequence="6"
                        Action="setValue" 
                        ElementPath="//appSettings/add[\[]@key='FromEmail'[\]]" 
                        Name="value" 
                        Value="[FROMEMAIL]" 
                        Permanent="yes" 
                        SelectionLanguage="XPath" />

<File Id="filename" Name="xmlfiletest" Source="..\\xmlfile1.xml">
          </File>

filename是适用于app.config文件的WIX中FILE元素的ID属性。