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