WIX 安装程序:更新配置文件中的现有值

WIX Installer: Updating existing value in config file

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

<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>

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

  1. 您对 ProjectName.My.Settings 元素的引用无效,您正在使用 ProjectName.My.MySettings
  2. 您对 value 元素的引用无效,您使用的是属性表示法。

虽然没有错,但您在查询开始时使用 // 从任何地方进行搜索。

尝试:

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