Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Tracking progress externally


1 reply to this topic

Leigh Ravenhall

Leigh Ravenhall
  • Members
  • 269 posts

Posted 23 April 2002 - 02:26

One of the upcoming requirements for my installation package is that it be possible to install it across an environment, with all the installations being run/monitored simultaneously from a single machine.

For example, from a master server for an environment, we'd like to install OurApp version 2.5.  This would then run the 2.5 application server installation on all of the application servers, the 2.5 web server installation on all of the web servers, the 2.5 database installation on all of the database servers, etc.

Deploying in our Win2K environment, I can get the installations to run.  However, to make sure I pick up the next performance bonus, I'd like to be able to include monitoring of the installation.

Effectively, what I'd like to be able to do, is capture the calls to MsiProcessMessage and display the status information on the central server.  Is this possible?  To turn off the Msi interface and capture the information on a remote machine.

I realise this probably won't be a trivial exercise, so I'm not asking for complete code, I'd just like someone to point me in the right direction.  (But I won't object if someone provides code).

Thanks,
Leigh Ravenhall
Expert Information Services

Ian Blake

Ian Blake
  • Members
  • 483 posts

Posted 23 April 2002 - 09:17

I have never done this.  I believe the key to your problem will be MsiSetExternalUI.  This hooks the msi messages so you can do what you like with them.  You can choose to handle the messages yourself or pass them through for the default msi handler to deal with (or both).  

You need to be careful if you are using a CA to set this up.  Normally CAs terminate unloading as soon as they are complete, so you need to ensure the module containing the call back routine remains loaded.  Microsoft strongly recommend calling MsiSetExternalUI before the msi is started for example  in setup.exe or an activeX object on a pretty web page.

Sorry that I can not add more.  I had hoped to experiment with external handlers but I have more urgent priorities at ther moment. Good luck.
Ian Blake
(Currently Unemployed)