chmwindows-xp-sp3

CHM file unreadble if saved to hdd


I've just downloaded JSon.Net for framework 4.0 as a zip file.
Opening zip (using WinRar) I'm able to open Documentation.chm file by double-clicking over the name listed and the help file is well done.
Correct CHM file

Anyway if I extract this file to hdd and I open it, help is unreadable.
Wrong CHM file

Sounds silly, but it's happening.
Thanks for your help!!!

EDITED:
Another tip: unreadble chm file is located in D:\.... (second NTFS partition of first hdd); if I save it on my desktop, chm file becomes readable !!! Crazy...

------------------------------------
---------- SOLUTION ----------
------------------------------------
I answer my question to close it and to help someone who finds in my same trouble.
Using tip suggested by @Marco van de Voort I searched Google for "chm unblock" and found this link:

Your CHM files are stored in the folder with '#' (hash) character in the path
Many C# developers discovered that their documentation and e-books in CHM format cannot be read because they were storing their CHM files in the directories like 'C:\E-books\C#\'.
The hash character signifies an anchor in HTML so the CHM viewer fails to resolve the path properly and to retrieve the content.

That was my problem: I had path with a #... and I'd never thought this could be a great mess for CHM files!!!
Thanks to SO mates for the help given !!


Solution

  • Windows keeps track of downloaded files on NTFS systems, and puts certain restrictions on them. If you extract with windows explorer, this status propagates from archive to file. Using a third party tool (winrar in your case, I use INFO zip) can circumvent this.

    Some descriptions and other links can be found

    http://wiki.lazarus.freepascal.org/chm_backend_for_fpdoc#Troubleshooting

    Free Pascal (2.4.4) has some tool to unlock them. (chmls unblock). It is done by truncating an alternate filestream (therefore it only works with NTFS). I found this info somewhere on stackoverflow, but can't quickly find the link.

    It might be that virtual folders like desktop don't fully support this.