我正在尝试创建一个用 WiX 编写的安装程序,虽然根据我发现的其他示例,我认为我的代码是正确的,但 XML 文件在安装时并未更新。我正在尝试使用用户输入到安装程序 UI 中的值来更新配置文件中键值对的值。该对已存在于文件中并设置了默认值,因此我希望用户能够从安装程序 UI 覆盖该值。我在这里查看了类似问题的问题,但这些修复似乎都不适合我。
这是我所拥有的代码片段:
<Component>
<File Source="$(var.DIR)\file.exe.config" />
<util:XmlFile
Id="ServerNameUpdate"
File=[INSTALLFOLDER]file.exe.config
Action="setValue"
ElementPath="/configuration/appSettings/add[\[]@key='ServerURL'[\]]/@value"
Name="value"
Value="http://[SERVER]/
Sequence="1" />
</Component>
我没有收到任何错误,但我的配置文件在安装时没有更改。 XML 行应如下所示:
<add key='ServerURL' value='http://[SERVER]/' />
即使我使用硬编码值,该值也不会改变。我的代码有问题吗?
尝试这样做:
<File Id="FileConfigPath" KeyPath="yes" Source="[INSTALLFOLDER]file.exe.config" Vital="yes" />
<util:XmlFile Id="ServerNameUpdate"
Action="setValue"
Permanent="yes"
ElementPath="//appSettings/add[\[]@key='ServerURL'[\]]/@value"
File="[#FileConfigPath]"
Value="http://[SERVER]/"
SelectionLanguage="XPath"
Sequence="1"
/>