为什么我的 WiX 安装程序不更新我的 XML 配置文件?

问题描述 投票:0回答:1

我正在尝试创建一个用 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]/' />

即使我使用硬编码值,该值也不会改变。我的代码有问题吗?

asp.net xml wix windows-installer
1个回答
0
投票

尝试这样做:

<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"
      />
© www.soinside.com 2019 - 2024. All rights reserved.