Asked By Phil Wilson
29-Feb-08 03:19 PM

That 1722 error is normal in those cases. You're saying ignore error code in
that other case, but that custom action is still going to fail! All you're
saying is to ignore the error and carry on. Internally the MSI will fail
with 1618 (another installation in progress) and that will get you back into
a custom action program failed error 1722.
The way that these problems are often solved is to run a chainer that
installs each setup one after the other. That's why (for example) the NET
framework is installed by a bootstrapper before running a product MSI - the
NET FW install is MSI based and can't be run from the main MSI.
You could try having a custom action on the Finish button that launches your
own async executable, and that executable
waits until the _MsiExecute mutex is available, then launches the other MSI,
but then you end up doing that with each MSI, and that is worse that one
chaining program that just launches them all one after the other. However
your uninstall is still going to be an issue for the same reason - .you
can't run an MSI uninstall as a custom action from an MSI uninstall. Your
client's approach basically isn't going to work.
--
Phil Wilson
[MVP Windows Installer]