Я пытаюсь установить значения хоста в файле конфигурации службы, используя утилиту Wix: XmlFile.Чтобы выбрать узлы, я хочу использовать XPath с функцией start-with, чтобы иметь возможность изменять несколько узлов.
Я пробовал выражение XPath на https://www.freeformatter.com/xpath-tester.html, и оно отлично работает.
<util:XmlFile
Id="SomeId"
Action="setValue"
Permanent="yes"
ElementPath="/configuration/system.serviceModel/services/service[\[]starts-with(@name,'Webservices') and ends-with(@name,'Service')[\]]/host/baseAddresses/add"
Name="baseAddress"
File="[#Service_exe_config]"
Value="[SERVICE_PROTOCOL]://[HOSTADDRESS]/Management/SomeService"
SelectionLanguage="XPath"
Sequence="1" />
XML:
<configuration>
<system.serviceModel>
<services>
<service name="MyCompany.Webservices.V123.Service">
<host>
<baseAddresses>
<add baseAddress="https://localhost/Service"/>
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
</configuration>
Из установщика я получил эту ошибку: «Ошибка 25532. Не удалось найти узел:».Было бы хорошо, если бы он работал без ошибок.