6

On Windows 7 I'm unable to open any local CHM files in a folder called Local.Ebooks.CHMs. I tried modifying the registry, but nothing helped. How can I open these CHM files successfully?

2
  • 2
    A+ poem! Would read again.
    – iglvzx
    Commented May 21, 2012 at 22:33
  • 1
    On a more serious note, I was able to replicate your issue. The issue is with a folder name containing *.CHM* (case-insensitive). Interesting...
    – iglvzx
    Commented May 21, 2012 at 22:48

3 Answers 3

6

As noted in my comment above, I was able to replicate the bug. Strangely enough, it is not the periods that are causing the issue. Windows 7 seems to have a problem with the string .chm (case-insensitive) anywhere in the folder hierarchy! This seems to be related to KB 319247, where # in a folder name is resolved incorrectly. Thanks, @Bob!

For example, if you try to open a CHM file in Folder.chm or Folder.CHMs/Folder, you will be presented with a File Download dialog and a broken CHM file reporting "Navigation to the webpage was cancelled."

file download

blank

As a workaround, you can rename the folder, removing the period . before the offending chm (case-insensitive) string. Unfortunately, it is unlikely that Microsoft will ever fix these bugs, seeing as HTML Help was last updated in 2002...

about

Video demo: youtube.com/watch?v=7x40fHXRQqU

7
  • Does it only matter if it's in the folder the file is in, or does it break if it's in any parent folder name?
    – nhinkle
    Commented May 21, 2012 at 23:10
  • 1
    I will do some more testing.
    – iglvzx
    Commented May 21, 2012 at 23:11
  • So would it be fair to say that the solution to the OP's problem is "rename the folder"? I know it's a hack, but that'd at least let him open his files.
    – nhinkle
    Commented May 21, 2012 at 23:14
  • 1
    @iglvzx This question and answer are interesting. If the viewer interprets #s as an anchor tag, could it be that it's trying to open the folder that ends in .chm as a file? Would .html affect it the same way? How about .chm not at the end? Now that I think about it, if the implementation is bad enough it could be stopping at the first .chm it encounters, even if not at the end of a folder/file name.
    – Bob
    Commented May 21, 2012 at 23:28
  • 1
    As a precautionary measure, don't put .chms in a unicode path. This is one buggy viewer! I can kinda see why they abandoned it.
    – Bob
    Commented May 21, 2012 at 23:35
3

If the .chm files were downloaded from the internet, then they will be BLOCKED by Windows. You can unblock them by opening the Properties dialog and checking the Unblock box at the bottom.

0
1

Summary

Microsoft Security Updates 896358 & 840315 block display of CHM file contents when opened from a network drive (or a UNC path). This is window's attempt to stop attack vectors for viruses/mal-ware from infecting your computer and has blocked out the .chm file that draw data over the "InfoTech" protocol, which this chm file uses.

Microsoft's summary of the problem: http://support.microsoft.com/kb/896054

Solutions

  1. If you are using Windows Server 2008 or Windows 7, or other modern Windows OS, windows has created a quick fix. Right click the chm file, and you will get the "yourfile.chm Properties" dialog box, at the bottom, a button called "Unblock" appears. Click Unblock and press OK, and try to open the chm file again, it works correctly. This will not work for Windows XP or other earlier versions of windows.

  2. Solve the problem by moving your chm file OFF the network drive. You may be unaware you are using a network drive, double check now: Right click your .chm file, click properties and look at the "location" field. If it starts with two backslashes like this: "\\epicserver\blah\", then you are using a networked drive. So to fix it, Copy the chm file, and paste it into a local drive, like C:\ or E:. Then try to reopen the chm file, windows does not freak out.

  3. Last resort, if you can't copy/move the file off the networked drive. If you must open it where it sits, and you are using a lesser version of windows like XP, Vista, ME or other, you will have to manually tell Windows not to freak out over this .chm file. HHReg (HTML Help Registration Utility) Utility Automates this Task. Basically you download the HHReg utility, load your .chm file, press OK, and it will create the necessary registry keys to tell Windows not to block it. For more info: http://www.winhelponline.com/blog/fix-cannot-view-chm-files-network-xp-2003-vista/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .