Rob,
I know you were probably going to look at the logs but I had an initial pass
at it and wanted to pass along some thoughts. From the 3.7 code base,
// create FDI context
hfdi = ::FDICreate(CabAlloc, CabFree, CabOpen, CabRead, CabWrite, CabClose,
CabSeek, cpuUNKNOWN, &erf);
ExitOnNull(hfdi, hr, E_FAIL, "Failed to initialize cabinet.dll.");
// begin CAB extraction
if (!::FDICopy(hfdi, "dummy", "", 0, CabNotifyCallback, NULL, NULL) ||
erf.fError)
{
hr = pContext->Cabinet.hrError;
if (E_ABORT == hr || E_NOMOREITEMS == hr)
{
ExitFunction();
}
else if (SUCCEEDED(hr))
{
if (ERROR_SUCCESS != erf.erfType)
{
hr = HRESULT_FROM_WIN32(erf.erfType);
}
else
{
hr = E_FAIL;
}
}
ExitOnFailure(hr, "Failed to extract all files from container.");
}
If it were me, wouldn't it make more sense to at least log the values of the
ERF struct? From
http://msdn.microsoft.com/en-us/library/bb432257(v=vs.85).aspx it seems that we
could look at the erf.fError flag, and if set we could dump some useful info
from erf.erfOper (and erf.erfType in case any of the callbacks had set the
Cabinet.hrError to E_FAIL).
Thanks,
Jacob
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs