I have often wanted to log in UI sequence when a DoAction control event is fired. Basically you need to queue up some logging messages in memory and the dump them out when the dialog sequence is finished.
One way this can be done is to run an async custom action before the frist dialog is launced. This custom action can bind a simple IDispatch object into the ROT using an Item Moniker. The object lives in a separate thread and STA (must process messages) than the thread calling the async custom action. CustomActions called from DoAction events can access the logger through the ROT and call the IDispatch interface using Invoke and a hardcoded DISPID and a string argument passed in the DISPARAMS argument. Make sure you shut down the async CA at the end of the InstallUISequence or when an Cancel or Error dialog pops up or the install will hang. I've been doing this for years, works like a charm. Regards, Aris J. Green ---- Christopher Painter <[EMAIL PROTECTED]> wrote: > It's documented by the DoAction ControlEvent. > > http://msdn2.microsoft.com/en-us/library/aa368322(VS.85).aspx > > "Note that custom actions launched by a DoAction ControlEvent can send a > message with the Message Method, but cannot send a message with > MsiProcessMessage. On systems prior to Windows Server 2003, custom actions > launched by a DoAction ControlEvent cannot send messages with > MsiProcessMessage or Message Method. For more information, see Sending > Messages to Windows Installer Using MsiProcessMessage." > > > Go figure.... If you are using a ScriptCA it would work, but not for C++. > It would be nice if the effected versions of MSI were documented rather > then a reference to the operating system. > > Of course it would be really nice if the bug would actually be fixed. I > guess it's another one of those `works as constructed` excuses from the MSI > team. > > Rob Mensching <[EMAIL PROTECTED]> wrote: > ::MsiProcessMessage() doesnt work when your action gets > called from a button click. I dont know where or even if that is documented. > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of dB. > Sent: Tuesday, April 15, 2008 17:23 > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] Why doesn't logging from an immediate custom action work? > > > > I have a custom action that I am running within the UI sequence (immediate, > user clicks on a button, custom action runs). Logging isnt working from it! > I can log without any problems when the same custom action runs deferred. > > Its not the first time I see this. Any ideas? The code is straightforward > > MsiHandle hRec(MsiCreateRecord(3)); > MsiRecordSetString(hRec, 0, L"[1]: [2]"); > MsiRecordSetString(hRec, 1, action.c_str()); > MsiRecordSetString(hRec, 2, message.c_str()); > MsiProcessMessage(_h, INSTALLMESSAGE(INSTALLMESSAGE_INFO), hRec); > > > Thx > dB. > > PS: Ive been using this list a lot lately someone please tell me if > youre tired of my e-mails J > > -dB. > dblock.org / foodcandy.com > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone_______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > between 0000-00-00 and 9999-99-99 <hr size=1>Be a better friend, > newshound, and know-it-all with Yahoo! Mobile. <a > href="http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ > "> Try it now.</a> ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users