Holy cow, I wrote a book!
Sometime last year, we got a report from a customer that
whenever he double-clicks an Excel spreadsheet,
Excel starts up, but the document isn't loaded.
Instead, he gets an error message saying that document could not be found.
He has to go to the Open dialog and open the spreadsheet manually.
This report was routed to the shell team, since it
appeared to be an Explorer problem.
We studied the file type registration for Excel documents;
those were fine.
We suggested some breakpoints, but everything looked good there, too.
Even ddespy reported that the "Open" command was being
sent to Excel correctly.
So far as the shell was concerned, it was sending the command that
Excel registered as the "Please send me this command when you want
to open a document," and yet when Explorer sent that very command,
Excel responded with "Huh? What are you talking about?"
This indicated that an investigation of Excel itself was in order,
and an hour later, the problem was identified.
Under Excel Options, Advanced, General, there is an option
called "Ignore other applications that use Dynamic Data Exchange",
and the customer had enabled this option.
The consequences of enabling this option are described in
Knowledge Base article Q211494:
Since Excel was configured to ignore DDE requests,
it ignored the DDE request that came from Explorer.
A misconfigured copy of Excel resulted in an error message that
by all indications looked like an Explorer bug.
That's pretty much
par for the course in Explorer-ville.