Contrary to norm, I have implemented a concurrent installation scenario where one second install, user will go through my custom install dialogs. One last leg, I present them with "Install" button, which simulates what "VerifyReadyDlg" dialog's custom install option would do.
<Control Id="Install" Type="PushButton" ElevationShield="yes" X="212" Y="243" Width="80" Height="17" Default="yes" Hidden="yes" Disabled="yes" Text="!(loc.VerifyReadyDlgInstall)"> <Condition Action="show">NOT Installed AND ALLUSERS</Condition> <Condition Action="enable">NOT Installed</Condition> <Condition Action="default">NOT Installed</Condition> <Publish Event="EndDialog" Value="Return"><![CDATA[OutOfDiskSpace <> 1]]></Publish> <Publish Event="SpawnDialog" Value="OutOfRbDiskDlg">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND (PROMPTROLLBACKCOST="P" OR NOT PROMPTROLLBACKCOST)</Publish> <Publish Event="EndDialog" Value="Return">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish> <Publish Event="EnableRollback" Value="False">OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 0 AND PROMPTROLLBACKCOST="D"</Publish> <Publish Event="SpawnDialog" Value="OutOfDiskDlg">(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")</Publish> </Control> This works fine, what works backwards for me now is that my CUSTOM ACTIONS for INSTALL don't work on 2nd Install, because they are coded to run when "NOT Installed". Also my Custom Actions for UNINSTALL only are now running on 2nd install onwards because they are coded to run when product is "INSTALLED". Here is how I have put logic to run custom actions. Any pointer to tweak this final thing would be greatly appreciated. What would do the trick for me would be to a pointer that would tell me, if there is alternate terminology for following two: <InstallExecuteSequence> <Custom Action ="SetCustomActionDataValue" Before="InstallFinalize">NOT Installed </Custom> --This should run every time except on UNINSTALL through /X cmdline or Add Remove Program's 'Remove' option. <Custom Action="CustomAction1id" After="SetCustomActionDataValue">NOT Installed </Custom> </InstallExecuteSequence> <InstallExecuteSequence> <Custom Action ="UninstallOnly" Before="InstallFinalize" /> <Custom Action="UninstallOnlyCA" After="UninstallOnly" > Installed </Custom> -- Here is where I want the Uninstall to work only when someone is explicitly uninstalling using /X or Add Remove programs "Remove" option. </InstallExecuteSequence> Thanks, Shital Mehta IT Developer ------------------------------------------------------------------------------ Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users