Hi,

I have a MSI project, in which i am using a custom action to run a batch file, the batch file is pointed to another MSI. when i run the main MSI, it calls the batch file and batch file calls the child msi. i am getting the following error message

>>>"Another installation is already in progress, complete that installation before proceeding with this install"<<<

is there any tricky way i can proceed with this method of install? ::: Fuad

 

Answer Summary:
If you want to run another MSI installation from a custom action, that action has to be placed in Immediate Context, either before InstallInitialize or after InstallFinalize. At any other point the main installer has exclusive access (the so called mutex) to Windows Installer and another installation cannot run.
Cancel
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Community Chosen Answer

4

Your best bet may be to use the start command with the /wait parameter. It is built-in so you need not worry about any additional dependencies. http://ss64.com/nt/start.html

Answered 05/30/2012 by: bkelly
Red Belt

Please log in to comment

Answers

1

If you want to run another MSI installation from a custom action, that action has to be placed in Immediate Context, either before InstallInitialize or after InstallFinalize.

At any other point the main installer has exclusive access (the so called mutex) to Windows Installer and another installation cannot run.

Also I assume you know these so-called nested installs are generally considered to be bad practice?

Answered 05/30/2012 by: pjgeutjens
Red Belt

Please log in to comment
0

Make the batch file external to the whole process and have it call each MSI in the desired sequence. Don't have one MSI call another MSI. Nesting is strongly discouraged.

Answered 05/30/2012 by: mazessj
Blue Belt

Please log in to comment
Answer this question or Comment on this question for clarity
Admin Script Editor
Admin Script Editor is an integrated scripting environment available free here at ITNinja

Share