(Imported from Trac #546, reported by @dcoutts on 2009-04-22)
With current versions of haddock it's important to pick a version that's consistent with the ghc in use. Normally we use System.Directory.findExecutable to find tools like haddock. However on Windows, the Win32 SearchPath function looks not just in the %PATH%. It looks first in the directory where the .exe of the current process lives (which might either be runghc.exe or it might be cabal.exe) and only secondarily in the %PATH%.
So, for ghc, Cabal should look for haddock first in ghc's bin dir and then if it's not there, use findExecutable to look in various other places.
Reported originally on the mailing list and as a ghc ticket.
Given that there is no activity on this ticket since 2009, I propose closing. Please re-open or create a new ticket if this is still something that should be worked on.