У меня есть установщик wix, который установит файл XML, а затем изменит его. Установка отлично работает. Сегодня мне нужно было добавить пару узлов в этот XML-файл. Поэтому я изменил исходный файл, а затем добавил некоторые дополнительные инструкции в wix для назначения значений этих элементов.
Ну, я каждый раз получаю сообщение о том, что не удается найти узел. Я смотрю и вижу, какой файл у него есть в каталоге, и у него все еще есть более старый файл, у которого не было узла. Как я могу сказать ему сначала заменить файл XML, а затем изменить его? Я не хочу использовать «CreateElement», потому что я не знаю, как не создавать элемент, если он уже существует (еще не пробовал, так что, возможно, он будет работать). Кроме того, я хочу, чтобы мой XML-файл был определением конфигурации.
Вот пример моего XML:
<Component Id="MyProgExeConfigComponent" Guid="*">
<File
Id="MyProgExeConfig"
Name="MyProg.exe.config"
DiskId="1"
Source="../Published/MyProg/MyProg.exe.config"
PatchWholeFile="yes"
KeyPath="yes"/>
<util:XmlFile
Id="MyProgExeConfigUser"
Action="setValue"
Permanent="yes"
File="[INSTALLLOCATION]\MyProg.exe.config"
ElementPath="/configuration/appSettings/add[\[]@key='UserName'[\]]"
Name="value"
Value="[USER]"/>
<util:XmlFile
Id="MyProgExeConfigPassword"
Action="setValue"
Permanent="yes"
File="[INSTALLLOCATION]\MyProg.exe.config"
ElementPath="/configuration/appSettings/add[\[]@key='Password'[\]]"
Name="value"
Value="[PASSWORD]" />
Есть идеи?