I've resolved this by attacking it a little differently. I've prevented <RemoveExistingProducts/> from removing the logs directory by setting the log directory create component to Permenant. Given this, I can now sequence RemoveExistingProducts after InstallFinalize.
I preserve my config files now as a conditional component, and merge the previous version into a new version using a custom action that runs before InstallFinalize. Now, I have a upgrade process that migrates my configuration files. Two outstanding questions remain, though at this point this is purely for informational purposes: 1) why can't a run a custom action with ExeCommand outside of InstallInitialize->InstallFinalize? I understand that I must run them "immediate", but when I do, there's apparently a problem getting the command line info. Note that CAQuietExec also fails. 2) I've yet to be able to successfully sequence RemoveExistingProducts in between InstallInitialize->InstallFinalize. Well, not entirely as I did discover that if I sequence InstallExecute somewhere, I can then sequence RemoveExistingProducts. I guess the question is, what are the sequence limitiations of RemoveExistingProducts and what is the purpose of sequencing InstallExecute? -- View this message in context: http://www.nabble.com/RemoveExistingProducts-and-Duplicate-GUIDs-tp17655018p17680219.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users