我想在运行安装程序时更新app.config中UserType的值。知道我做错了吗?
的App.config
<configuration>
<userSettings>
<Tool.Properties.Settings>
<setting name="UserType" serializeAs="String">
<value>0</value>
</setting>
</Tool.Properties.Settings>
</userSettings>
</configuration>
Tool.wxs
...
<util:XmlFile
Id="SetUserType"
File="MyTool.exe.config"
Action="setValue"
Name="UserType"
Value="1"
ElementPath="//configuration/userSettings/Tool.Properties.Settings/setting" />
答案 0 :(得分:0)
为了修改value元素的内部文本,你应该稍微更改<XmlFile>
声明:
<util:XmlFile Id="SetUserType"
File="MyTool.exe.config"
Action="setValue"
Value="1"
ElementPath="//configuration/userSettings/Tool.Properties.Settings/setting/value" />
这里需要注意的事情:
ElementPath
属性已更正为指向<value>
元素Name
属性。在这种情况下,它设置元素的内部文本,而不是设置某个属性值希望这有帮助。
答案 1 :(得分:0)
在回答您对Yan answer的评论时,您需要使用ElementPath选择具有正确名称属性的设置。
<util:XmlFile Id="SetUserType" File="MyTool.exe.config" Action="setValue" Value="1"
ElementPath="/configuration/userSettings/Tool.Properties.Settings/setting[@name='UserType']/value"
/>
将@name='UserType'
更改为其他设置的名称。