/build/static/layout/Breadcrumb_cap_w.png

Check if Windows Installer is ready to run

Hi there,

Does anyone know of or have any code that I can use in a Deferred in System Context, Asynch - No Wait custom action that I can use to check if the MSI engine is ready to run another installation.

You may have seen my post about chaining a 64 bit installer to a 32 bit installer.  Well, that won't work for us... 

http://blogs.msdn.com/b/heaths/archive/2009/07/03/installation-sequence-restrictions-for-multi-package-transactions.aspx .

So, what I'm doing now is actually installing a 64 bit installer with our 32 bit app.  On a 64 bit machine, a Custom Action widget compiled for x64 fires and installs/removes on uninstall the 64 bit pieces.  All seems to work OK, but at times I get the 'another installation is in progress' message when the 64 bit installer runs.

What I've done just to get a build to QA was to add a 30 second pause in the Custom Action widget which allows the main or calling install process to clear.  Clunky, I know so I want to replace this with some code to monitor the Installer engine to see when it clears for my second installation.

I found this, but I'm not a C or C# guy so VB.NET code or any other information would be greatly appreciated...

http://blogs.msdn.com/b/heaths/archive/2006/01/23/516454.aspx .

Thanks in advance!!

 


0 Comments   [ + ] Show comments

Answers (3)

Answer Summary:
Posted by: Superfreak3 12 years ago
2nd Degree Black Belt
0

I created a custom action widget that fires Asynch-No Wait.  It monitors msiexec processes until the instance count is <=1.  The widget will then fire the 64 bit install package installed via the 32 bit main install.

It may be clunky, but it seems to get the job done.

 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ