I am moving from a Wise Installer to WIX and am using the util:xmlfile to update a configuration xml file.
This works.
<Component Id="config" Guid="*">
<File Id="config" Source="..\Source\Desktop\prodconfig.xml" KeyPath="yes" Vital="yes" />
<util:XmlFile
Id="_PORT_" File="[INSTALLDIR]prodconfig.xml"
Action="setValue"
Name="Port" Value="[PORT]"
ElementPath="//Configuration/CommConnectionPools/CommConnectionPool"
Sequence='1' />
</File>
</Component>
This does not work.
<Component Id="config" Guid="*">
<File Id="config" Source="..\Source\Desktop\prod-config.xml" KeyPath="yes" Vital="yes" />
<util:XmlFile
Id="_PORT_" File="[INSTALLDIR]prod-config.xml"
Action="setValue"
Name="Port" Value="[PORT]"
ElementPath="//Configuration/CommConnectionPools/CommConnectionPool"
Sequence='1' />
</File>
</Component>
When the .msi executes with the first component, everything is fine. In the second version, an error is returned "Error 25531. Failed to open XML file..."
As far as I can tell the only difference is the hyphen in the file name.
Any suggestions as to what the difference might be?
Try using the file's id instead of hard-coding the name
[#config] //which will refer to the File Id
instead of
[INSTALLDIR]prod-config.xml