Wix util: XmlFile обновляет XML файл поверх записи вместо добавления - PullRequest
0 голосов
/ 29 апреля 2020

Я пытаюсь добавить новое значение в файл XML внутри существующего элемента. Однако с помощью приведенного ниже кода MSI перезаписывает первое значение в XML вместо добавления нового значения в конец:

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
    <Product Id="36253122-24CA-4397-9ED6-2D85162C61A3" Name="testt" Language="1033" Version="0.0.0.2" Manufacturer="WixEdit" UpgradeCode="3A177603-4981-4D6F-AC51-2450E731AA79">
        <Package Description="test" Comments="test" InstallerVersion="200" Compressed="yes" />
        <Media Id="1" Cabinet="simple.cab" EmbedCab="yes" />
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFilesFolder" Name="PFiles" />
            <Component Id="C_ConfigFile" Guid="7B95BA5F-1AA4-4D4A-9B2D-322EF3FD7973" KeyPath="yes">
                <util:XmlFile Id="ModifyXmlFile2" ElementPath="/configuration/appSettings/add" File="test.config" Action="setValue" Name="key" Value="IsRelayEnabled" Sequence="15" />
                <util:XmlFile Id="ModifyXmlFile3" ElementPath="/configuration/appSettings/add" File="test.config" Action="setValue" Name="value" Value="true" />
            </Component>
        </Directory>
        <Feature Id="DefaultFeature" Title="Main Feature" Level="1">
            <ComponentRef Id="C_ConfigFile" />
        </Feature>
        <UI />
        <UIRef Id="WixUI_Minimal" />
    </Product>
</Wix>

То, что я хочу получить, это:

  <appSettings>
<!--Compatible Settings file version. Must be natural number-->
<add key="SettingsVersion" value="1" />
<!--<add key="DefaultCulture" value="en-US"/>-->
<add key="ProductName" value="test" />
<add key="IsRelayEnabled" value="true" />

То, что происходит:

<appSettings>
<!--Compatible Settings file version. Must be natural number-->
<add key="IsRelayEnabled" value="true" />
<!--<add key="DefaultCulture" value="en-US"/>-->
<add key="ProductName" value="test" />

Любая помощь с благодарностью.

...