Looking for some clarification on conditions to use for sequencing activities to cover install | modify add feature | rollback | modify remove feature | uninstall cases.
I usually end up having one type of custom actions that are feature or component specific and intended to provision things during install | modify add feature processing. I also then end up having another type of custom actions that are feature or component specific and intended to un-provision things during rollback | modify remove feature | uninstall processing. So for feature or component related custom actions that have feature or component related provisioning / un-provisioning behaviors is it true that you'd always want the sequencing conditions to be based on feature or component state and action checking, and not the less granular "Install" and "Not Installed" condition checks, so that you catch the install | modify add feature cases when you want the provisioning to happen and the rollback | modify remove feature | uninstall cases when you want the unprovisioning to happen. For example would it be expected that the following custom action sequence conditioning successfully handle install | modify add feature | rollback | modify remove feature | uninstall cases? <Feature Id="MainApplication" Title="Main Application" Level="1"> <ComponentRef Id="MmcSnapin.dll" /> <ComponentRef Id="Configuration.dll" /> </Feature> <!-- The Install and Modify Feature Add actions --> <CustomAction Id="SetInstallUtilCmdLine64" Property="InstallUtilCmdLine64" Value=""[INSTALLUTIL64]" "[APPLICATIONROOTDIRECTORY]\Company.Deliverable.UI.MmcSnapin.dll"" /> <CustomAction Id="InstallUtilCmdLine64" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check"/> <!-- The Rollback, Modify Feature Remove and Uninstall actions --> <CustomAction Id="SetUnInstallUtilCmdLine64" Property="UnInstallUtilCmdLine64" Value=""[INSTALLUTIL64]" /u "[APPLICATIONROOTDIRECTORY]\Company.Deliverable..UI.MmcSnapin.dll"" /> <CustomAction Id="UnInstallUtilCmdLine64" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check"/> <InstallExecuteSequence> <Custom Action="SetInstallUtilCmdLine64" After="InstallFiles" /> <Custom Action="InstallUtilCmdLine64" After="SetInstallUtilCmdLine64" >InstallUtilCmdLine64 And !MainApplication=2 and &MainApplication=3</Custom> <Custom Action="SetUnInstallUtilCmdLine64" Before="UnInstallUtilCmdLine64" /> <Custom Action="UnInstallUtilCmdLine64" Before="RemoveFiles" >UnInstallUtilCmdLine64 And !MainApplication=3 and &MainApplication=2</Custom> </InstallExecuteSequence> Also is it never possible for the "Installed" property to be present/set during rollback processing since presumably the product didn't successfully install and thus the rollback. Or is it possible for the for the "Installed" property to be present/set during rollback processing the case being when the product was already installed and the user used controlpanel programs <product> modify addfeature and the feature addition activities had a failure thus triggering a rollback of just that feature addition? ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users