WIX Installer:更新配置文件中的现有值

时间:2018-02-02 20:47:59

标签: wix

我是Wix的新手,直到现在我能够管理它但现在我想从配置文件更新Sub节点的现有值。下面是我更新它的代码。但我收到错误:找不到节点。

<Component Id="ServiceIPAndPortSave" Guid="*" Directory="INSTALLFOLDER">
  <CreateFolder/>
    <util:XmlConfig
      Id="UpdateIP"
      On="install"
      File="[INSTALLFOLDER]ProjectName.exe.config"
      Action="create"
      Node="value"  
    ElementPath="//configuration/userSettings/ProjectName.My.MySettings/setting[\[]@name='IPAddres'[\]]/@value"
      Value="[SERVICEIP]"
  />
</Component>

以下是我的配置文件的格式:

<configuration>
<userSettings>
<ProjectName.My.Settings>
<setting name="IPAddres" serializeAs="String">
    <value>127.0.0.1</value>
</setting>
</ProjectName.My.Settings>
</userSettings>
</configuration>

1 个答案:

答案 0 :(得分:0)

您的XPATH表达式不正确,您有两个问题:

  1. 您对ProjectName.My.Settings元素的引用无效,您使用的是ProjectName.My.MySettings
  2. 您对value元素的引用无效,您使用的是属性表示法。
  3. 虽然没有错误,但您可以在查询开头使用//从任意位置进行搜索。

    尝试:

    /configuration/userSettings/ProjectName.My.Settings/setting[\[]@name='IPAddres'[\]]/value