MSI XML File Changes
Hi,
I am prepping Altova XML SPy 2019 for deployment and i would like to add the file "xmlspy.licsvr" to the program Data folder. This file is in xml format and contains the license server.
Instead of adding the file i would like to use "XML File changes" this so that i can easily change the server if needed. Problem now is that the xml file is not created.
i am using Installshield to create and edit the MST file and the option "Always create XML file if it does not already exist" is checked. but still no luck.
What is the action in execute sequence responsible for updating xml files?
Does anyone have an idea where i can look to solve this?
UPDATE 03/01/2019
I ended up using the file table as i was unable to use the XML file changes and didn't have more time to troubleshoot and research.
Answers (2)
Top Answer
Havent used ISXmlFile for ages, but take care, its really fickle to use. I would recommend just having the XML file placed through the FILE table rather than the ISXmlFile table.
That said, with the ISXmlFile table. Make sure the associated component has a KEYPATH of some sort. As I mentioned before, its really fickle. So if you are editing multiple ATTRIBUTES and ELEMENTS in the xml file - i think you need to number them in some way, prefix URI something? I'll have to look it up when im at work, but what I found was that editing multiple attribs and elements was a pain.
I abandoned using this table a long while ago and nothing recently has made me change my mind. Ditto with handling INI and other text files: it's too unreliable.
For XML and INI file handling, I built 2 sets of classes for use in VBS and use these. With some creativity, you can still utilise MSI properties to store the server name (or other variables), simply passing them to the Custom Action that executes the VBS via the standard CustomActionData property. Yes, it's a kludge but it's waaaaaaaaaaaaaaaaaaaaay more reliable than using InstallShield's built-in handlers.