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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users