I feel like I'm missing something here.  Two things actually.

First, regarding rollback:

I want have a custom action in my installation that modifies the system in
some way that can't be handled another way.

The documentation "Rollback Custom Actions" implies that I need to schedule
a rollback custom action before my deferred custom action, but also includes
this paragraph:

"The complement to a rollback custom action is a commit custom action. The
installer executes a commit custom action during the installation sequence,
copies the custom action into the rollback script, but does not execute the
action during rollback."

Later, the same document says:
Commit custom actions are the first actions to run in the rollback script.
If a commit custom action fails, the installer initiates rollback but can
only rollback those operations already written to the rollback script. This
means that depending on the commit custom action, a rollback may not be able
to undo the changes made by the action. You can ignore failures in commit
custom actions by authoring the custom action to ignore return codes.


What does the "copies the custom action into the rollback script, but does
not execute" in the first quote actually mean?   Do they execute or not?  I
assume that they do actually execute first, when a rollback occurs.

Also, as I understand it Commit items are done in the user context, rather
than under the system local account.  Which implies that I had better not
try to modify things which aren't accessible in the wrong context in a
custom action.

Now the other thing I don't understand is uninstall.

Presumably, for my custom action I need to come up with a condition that
runs when I remove if relevant, and checks to see if my action (or a
different one) needs to run.
Presumably, that means the condition on the action is something like
REMOVE=ALL OR REMOVE >< MYCOMPONENT

Is that right?

Do I also need to do a rollback, incase the uninstall cancels or fails with
the same conditions immediately before?

Anthony Wieser
Wieser Software ltd

----- Original Message ----- 
From: "Bob Arnson" <[EMAIL PROTECTED]>
To: "Anton Tkachev" <[EMAIL PROTECTED]>
Cc: <WiX-users@lists.sourceforge.net>
Sent: Wednesday, April 25, 2007 4:55 PM
Subject: Re: [WiX-users] Cancel during Uninstall


> Anton Tkachev wrote:
>> Yea, I agree that in the Internet we have plenty amount of rollback
>> examples. But these examples show how to rolback INSTALATION process.
>> And it is clear for me. This point is also described in the link that
>> you received.  But I need to rollback a custom action during
>> UNinstallation process. And this is what I asked in the first post.
>> Did you see such examples?
>
> From the MSI perspective, there's very little difference between
> installation and uninstallation. Rollback works the same way for both:
> Schedule your uninstall rollback CA just before your uninstall CA.
>
> -- 
> sig://boB
> http://bobs.org
>
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to