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 表达式不正确,你有两个问题:
- 您对
ProjectName.My.Settings
元素的引用无效,您正在使用 ProjectName.My.MySettings
。
- 您对
value
元素的引用无效,您使用的是属性表示法。
虽然没有错,但您在查询开始时使用 //
从任何地方进行搜索。
尝试:
/configuration/userSettings/ProjectName.My.Settings/setting[\[]@name='IPAddres'[\]]/value
我是 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 表达式不正确,你有两个问题:
- 您对
ProjectName.My.Settings
元素的引用无效,您正在使用ProjectName.My.MySettings
。 - 您对
value
元素的引用无效,您使用的是属性表示法。
虽然没有错,但您在查询开始时使用 //
从任何地方进行搜索。
尝试:
/configuration/userSettings/ProjectName.My.Settings/setting[\[]@name='IPAddres'[\]]/value