In article <2ca537e10911101230v21ed97e1sabffc232fc58b...@mail.gmail.com>,
    Tony <yellowjacketl...@gmail.com>  writes:

> During rollback, all actions executed since the InstallInitialize are
> run again in reverse order (assuming conditions are met), correct?
> And the Rollback property is set.  Are actions after InstallFinalize
> called (assuming conditions are met) at the end of a rollback?

The install transaction includes all the actions between
InstallInitialize and InstallFinalize.  While executing the actions
in the install transaction, any rollback actions that are enountered
are written to a rollback script.  If an action in the install
transaction fails, then the actions in the rollback script are
executed in reverse order.

So, a rollback doesn't execute *any* action in the install transaction
in reverse order, it executes rollback actions.  Standard actions have
rollback support automatically (they write actions into the rollback
script when executed), so two actions don't appear in the transaction
(an installation action and a rollback action), but for custom actions
its a different story.

Only deferred custom actions can participate in the install transaction.
However, a rollback custom action has additional flags in the custom
action in-script execution options.  So you'll typically have two custom
actions to support rollback: the deferred action that modifies the system
and the rollback custom action that undoes the modifications.

Therefore, to support rollback scenarios in a custom action you need
to sequence two actions and the rollback custom action must be
sequenced before the deferred action that modifies the system.  If you
don't observe this sequencing constraint, then your rollback custom
action won't execute when your deferred action fails.  If your
rollback action is sequenced after your deferred action, it won't have
been written into the rollback script when your deferred action fails
and the changes made by the deferred action won't be undone.
-- 
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
 <http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/>

      Legalize Adulthood! <http://legalizeadulthood.wordpress.com>

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to