Bugs item #1352643, was opened at 2005-11-09 14:54
Message generated for change (Settings changed) made by robmen
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1352643&group_id=105970

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: CustomActions
Group: v2.0
>Status: Closed
Resolution: Fixed
Priority: 5
Submitted By: shirata (shirata)
Assigned to: Rob Mensching (robmen)
Summary: CAQuietExec errors with "Failed to read from handle."

Initial Comment:
version wix-2.0.3309.0

CAQuietExec errors with broken pipe and 
message "Failed to read from handle."

LogOutput() in qtexecca.cpp fails in ReadFile() because 
the handle is already closed.  I think there is a typo in 
CreatePipes() line 147:

Typo:
        *phErrWrite = hErrWrite;
        *phErrWrite = INVALID_HANDLE_VALUE;

        *phInRead = hInRead;
        *phInRead = INVALID_HANDLE_VALUE;

Should read:

        *phErrWrite = hErrWrite;
        hErrWrite = INVALID_HANDLE_VALUE;

        *phInRead = hInRead;
        hInRead = INVALID_HANDLE_VALUE;

Otherwise, hErrWrite and hInRead gets closed in 
CreatePipes().



----------------------------------------------------------------------

Comment By: Jack Metcalfe (jackmetcalfe)
Date: 2005-12-01 09:16

Message:
Logged In: YES 
user_id=1388880

I encountered the same error but resolved it as follows in 
qtexecca.cpp.

In QuietExec() I made it wait until the called process had 
completed or X milliseconds had elapsed.

In LogOutput() I changed the while loop to while 
((OUTPUT_BUFFER -1 ) < dwBytes).


if (::CreateProcessW(NULL,
        wzCommand, // command line
        NULL, // security info
        NULL, // thread info
        TRUE, // inherit handles
        ::GetPriorityClass(::GetCurrentProcess()) |     
        CREATE_NO_WINDOW, // creation flags
        NULL, // environment
        NULL, // cur dir
        &oStartInfo,
        &oProcInfo))
        {
          ::WaitForSingleObject( oProcInfo.hThread, 
60000 );

                ::CloseHandle(oProcInfo.hThread);
....


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1352643&group_id=105970


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs

Reply via email to