Sequencing is the order in which the actions are queued to run. Conditions
is the decision to run or not run any arbitrary action.

You need to look at conditional syntax and set the condition of your action.

However, there is an issue with what you describe you need:

In the sequence between CostInitialize and InstallInitialize, the list of
features and components who's states will be changed is generated. Then each
action related to every affected component is run in sequence. Thus, if you
are uninstalling, and you select both OptionalComponent and MainComponent to
be removed, then the following will happen (ignoring less-used actions) in
this order:

All services associated with either component are stopped and deleted
COM+ & COM registration information, shortcuts, and registry entries
associated with either component are removed
Files and folders associated with either component are removed

So, there is no point at which one component has been removed while the
other is still present. The only way to achieve that is to have each
component in separate features and remove them one feature at a time. You
simply can't get that if someone tells MSI to remove the entire product.

The fact that you are running an EXE that is part of one component during
your installation/removal is called "Self-Registration", which is also
called a "bad practice". Deployment and Operation need to be separate code
without code dependencies between them, because during deployment
transactions you can't depend on your code being in a useful state.

-----Original Message-----
From: Armin Linder [mailto:mirram...@googlemail.com] 
Sent: Tuesday, October 13, 2009 5:11 AM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Sequencing custom actions

Hi WiX users,

I am seeking advice how I can accomplish the following:

I found out how to sequence custom actions "after InstallFinalize". For my
installation requirements I need a finer degree of control when custom
actions are run, particularily I am seeking for a way to execute a custom
action "after successful installation of component/feature xyz" and "after
deinstallation of component/feature xyz" (regardless wether successful or
not). Can this be done?

 The whole story: I have a msi that contains 2 components/features, lets
name them MainComponent and OptionalComponent. MainComponent includes an
.exe which needs to run if OptionalComponent is installed. Likewise, if
OptionalComponent is deinstalled, the .exe needs to run again. If both
MainComponent and OptionalComponent are selected for uninstall,
OptionalComponent needs to be uninstalled, then the .exe must run, and then
MainComponent needs to be uninstalled.

Doesn't look to difficult, but reading the docs about sequencing actions I
found nothing hepful. Can anyone help me?

(A pointer to a piece of documentation will do nicely ...)

Thanks,

Armin.
----------------------------------------------------------------------------
--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to