I had a legacy system on which a 32 bit Win XP was installed. Previously it had a 64 bit Win7 installed on the same machine. As a consequence the old Program Files (x86) folder still existed. I couldn't get through with the HTML Help 1 Compiler step, although i previously installed it.
I found out that the problem lies in BuildProcess.cs (line 2057)
// Check for 64-bit Windows. The tools will be in the x86 folder.
if(Directory.Exists(sb.ToString() + " (x86)"))
To resolve this bug one could either
- Use Environment.Is64BitOperatingSystem (http://msdn.microsoft.com/en-us/library/system.environment.is64bitoperatingsystem(VS.100).aspx), or
- Search in both folders: program files (x86) and program files
I worked around this issue by deleting the unused x86 folder, but an existence of such a (possibly empty) folder on a 32 bit OS shouldn't cause a problem.
It would also be great for debugging purposes if the builder exceptions (e.g. BE0037) would contain the path that was searched.