You have two choices for "late" scheduling, depending on desired behavior. For the one you describe, you use this: 1. If you don't have any "<InstallExecute ...>" in your InstallExecuteSequence: <InstallExecute Before="RemoveExistingProducts" /> <RemoveExistingProducts Before="InstallFinalize" />
2. If you do already have any "<InstallExecute ...>" in your InstallExecuteSequence (but no "<InstallExecuteAgain ...>"): <InstallExecuteAgain Before="RemoveExistingProducts" /> <RemoveExistingProducts Before="InstallFinalize" /> 3. If you already have both "<InstallExecute ...>" and "<InstallExecuteAgain ...>" in your InstallExecuteSequence then you will have to go with one of the other options. There is only one other "late" option, which is "After the InstallFinalize action." Which runs the risk of leaving both versions "installed" (but the newer one has already "overwritten" the older one at that point). You have to make sure you follow all the component rules WRT component guid stability, component composition, which item is the keypath of each component, etc. Some recommendations to help make it easier to keep those rules: Install under a "well known folder", ALWAYS use "*" for both your component's guids (wherever the tool allows it) AND for your Product's Id value. Don't ever change your UpgradeCode for all the versions of this product. And ALWAYS use Feature and/or Component state, not installation state properties, to schedule custom actions that change machine state. -----Original Message----- From: gapearce [mailto:mr_gapea...@yahoo.com] Sent: Monday, October 04, 2010 4:05 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] prevent component removal on major upgrade Sorry - just found this link to explain RemoveExistingProducts: http://msdn.microsoft.com/library/aa371197.aspx I am thinking of trying this, but this says that the RemoveExistingProducts needs to be scheduled 'between' the InstallExecute action, or the InstallExecuteAgain action, and the InstallFinalize action. How can I specify this sequence? I have this in there now, but it seems incomplete according to the doc: <RemoveExistingProducts After="InstallExecute" /> How am I supposed to do this? -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/prevent-compon ent-removal-on-major-upgrade-tp5600477p5601219.html Sent from the wix-users mailing list archive at Nabble.com. ---------------------------------------------------------------------------- -- Virtualization is moving to the mainstream and overtaking non-virtualized environment for deploying applications. Does it make network security easier or more difficult to achieve? Read this whitepaper to separate the two and get a better understanding. http://p.sf.net/sfu/hp-phase2-d2d _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Beautiful is writing same markup. Internet Explorer 9 supports standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3. Spend less time writing and rewriting code and more time creating great experiences on the web. Be a part of the beta today. http://p.sf.net/sfu/beautyoftheweb _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users