ORCA Like ICE Validation Tool...

R

Rajneesh

Hi,
I am writing a tool to perform ICE validation just like ORCA, in C++. I saw
a sample in the "Handling Progress Messages Using MsiSetExternalUI" section
of the MSI help library.

I am doing a MsiSetInternalUI and setting it to NONE, and a MsiSetExternalUI
to point to my callback function that will handle all the MsiProcessMessage
messages that are fired from the various ICE DLLs. I do this by streaming
them out from the binary table and loading them using the LoadLibrary and
GetProcAddress on the ICE function and passing the database handle.

This does not seem to work as I receive only INFO messages and no ICE ERROR
or WARNING messages, even though I have set the correct message filter. The
only way it works is if I set the MsiSetInternalUI to anything other then
NONE. This does fire back all the ERROR AND WARNING messages from the ICE
DLL but it does it twice, once in the installation UI (as a MessageBox) that
is launched as a result of MsiSetInternalUI and one that is received by my
callback handler.

I do not want to launch the installation. I just check the ICE validations
using NO UI. Is there something else I need to do other then setting the
MsiSetInternalUI to NONE to make my callback handler receive the ICE ERROR
and WARNING messages from MsiProcessMessage?

Any help will be deeply appreciated.

Thanks,
Rajneesh...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top