Hello John, Thanks for the response. I have sequenced my custom installation dialogs as following.
INSTALL: WelcomeDlg, SetupTypeDlg, UserRegistrationDlg, VerifyReadyDlg, EndDialog. INSTALL AGAIN: MaintenanceWelcomeDlg, CustomMaintenanceSetupTypeDlg, CustomUserRegDlg, EndDialog. Happy Trail: Install... One instance is installed. Reinstall..... you have 3 options similar to and stolen from MaintenanceTypeDlg CHANGE... I install another application database, binaries. I am achieving this by putting conditional clause "INSTALLED AND (NOT REMOVE)" REMOVE... I uninstall All the applications completely. REPAIR... I want to simulate "REMOVE AN APP" but not completely UNINSTALL/UNREGISTER the product Everything is good. Only problem is REPAIR. My separate custom actions for REPAIR are not getting called, but the CHANGE custom actions are called every time. CHANGE: <InstallExecuteSequence> <Custom Action ="SetCustomActionDataValueR" Before="InstallFinalize">Installed AND (NOT REMOVE)</Custom> <Custom Action="CustomAction1idR" After="SetCustomActionDataValueR"> Installed AND (NOT REMOVE)</Custom> </InstallExecuteSequence> REPAIR SIMULATING "REMOVE AN APP": <InstallExecuteSequence> <Custom Action ="RemoveAnAppDataValue" Before="InstallFinalize">REPAIR</Custom> NOTE: <Custom Action="RemoveAnAppId" After="RemoveAnAppDataValue">REPAIR</Custom> </InstallExecuteSequence> To me it looks like the conditional terminology I am using for CHANGE AND REPAIR isn't correct and once I get a hint, I would be like "Ohhhhh really". Would you have that hint for me please? Thanks, Shital Mehta IT Developer -----Original Message----- From: John Cooper [mailto:jocoo...@jackhenry.com] Sent: Monday, February 27, 2012 11:18 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Concurrent Installations and Custom Actions You'd be way better off using a chainer. That being said, you're probably going to have to conditional the second install on the install states of a feature(s) or component(s) and create your own "Installed_Second" property to effectively mimic the behavior of "Installed." You're going to hate yourself though when you try to update or patch things. -- John Merryweather Cooper Build & Install Engineer - ESA Jack Henry & Associates, Inc.(r) Shawnee Mission, KS 66227 Office: 913-341-3434 x791011 jocoo...@jackhenry.com www.jackhenry.com -----Original Message----- From: ShitalKumar Mehta (Synergy Technologies LLC) [mailto:v-shm...@microsoft.com] Sent: Monday, February 27, 2012 1:08 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Concurrent Installations and Custom Actions 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 NOTICE: This electronic mail message and any files transmitted with it are intended exclusively for the individual or entity to which it is addressed. The message, together with any attachment, may contain confidential and/or privileged information. Any unauthorized review, use, printing, saving, copying, disclosure or distribution is strictly prohibited. If you have received this message in error, please immediately advise the sender by reply email and delete all copies. ------------------------------------------------------------------------------ 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 ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users