If you're doing a Windows Installer major upgrade and RemoveExistingProducts is "late" in the new install the upgrade is actually more of an update and it follows the file update rules. This means that an altered (after the initial install) data file won't be replaced according to the file versioning rules.
"Late" means at the end of the execute sequence (InstallExecute, RemoveExistingProducts, InstallFinalize) or after InstallFinalize. Visual Studio 2008 setups now work this way (2005 did not) and I think this was a response to complaints about upgrading databases, config files and so on. Phil Wilson -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Evans, Jim Sent: Wednesday, July 02, 2008 5:28 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Protecting "config" files during an upgrade Rob Mensching wrote: >> Am I going to have to resort to a custom action to read the settings and >> propagate them? If so, ugh. It seems like there should be a WiX custom >> action for simply reading the contents of an XML file (value or >> attribute) and putting the value into a property. > > Open feature request that no one has had time to write. Care to write it? This would fall into the bucket of "sure, when I have time", but my C++ skills may not be up to the task. Looks like you've got some library functions already written that would make it fairly easy though. If I get to it, I'll contact you about what I need to do to submit the code for inclusion into the project. In the meantime, since it looks like I'll need to rely on a custom action, I can code a DTF custom action to do what I want. As a reminder, I'm wanting to: * Read the user's app.config file, if it has already been installed * Get the settings out of the config file set during the initial installation * Restore those settings to the newly-installed config file Furthermore, I only want to do this in the update, reinstall, or repair case. My code to set the config values during the initial installation works great; I just need to preserve those settings should the user ever repair, reinstall, or apply an update (which I'm implementing as a reinstall with an updated .msi). What I'm looking for is some guidance about how to use my custom action. My instincts tell me to perform a FileSearch for the config file and set a custom property if the file exists; schedule the "harvest settings" custom action before InstallFiles; and within the custom action code, harvest the settings if the custom property is actually set. Are my instincts correct or is there a better way? For my own education about Windows Installer and WiX, I have a few other questions that the SDK docs aren't clear to me on: Should I be trying to conditionally schedule the custom action to only run during reinstall? If so, what properties should I be checking (checking REINSTALLMODE for the value "vomus" seems fragile to me)? How do you conditionally schedule a custom action anyway (neither the CustomAction nor the Custom elements support a Condition element)? ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users