KEL CHM Creator a is flexible, powerful and free (freeware) CHM creator that uses Microsoft® HTML Help Workshop to combine your HTML files into one compressed and compact CHM (Compiled Help Modules) file. The CHM file-format is widely used for software documentation and e-book publication. Now with KEL CHM Creator you can create your own customized (Microsoft HTML Help 1.x) CHM files quickly and with no serious problems. What this program really does is to create the CHM project files for you (replacing the old, buggy and user-unfriendly HTML Help Workshop) and then use the Microsoft® HTML Help Compiler (hhc.exe) to compile those files into a CHM file. It also provides many tools including an easy way to decompile CHM files, an indexing system and much more.
All you have to do is :
- Download the Microsoft HTML Help Workshop from here and install it on your system.
- Unzip and install this version of KEL CHM Creator (get it from the link below).
- Make sure that the path to the compiler (hhc.exe) is set correctly…
…and you are ready to go ! You can create a new project, Add HTML files in it (using the toolbar : Add nodes to selected node), construct a complex table of contents (TOC) by dragging and dropping some entries over others, and finally the build your project.
This application is compatible with Windows XP, Windows Vista, Windows 7 and requires the .NET Framework 3.5 to run.
Download:
Download Link
Alternative Link:
Very good solution
This is useful while easy to use…
KEL CHM Creator v.1.3.3.0:
Very good tool, but please:
Every Window opens in full screen mode,
even the compiled CHM-View.
How can I change this?
And what about “Use view”? Disabled?
And how can I change the rest of CHM-window properties?
Good time! Andreas
Thanks for your comments.
I could add some options so that windows like the compiler output window, etc open in normal window size but you will have to wait for the next version (you can’t change it now). The “use view” option is there for future versions of the application and is not functional yet (perhaps I should have hidden it from user eyes). For additional options like window position/size, special navigation buttons, etc, again, you will have to wait for the next release.
Excellent piece of free software. Thanks!
However: When I view the compiled CHM file on another computer, it is not reading the html file content when I select the nodes in the TOC. I thought that the html files became part of the CHM file [once compiled] so that the CHM could be copied to any computer and be read stand alone without the html files being present. Am I missing something here? Is there a setting to permanently attach the html content to the compiled CHM?
Also, is there a way to ensure that various nodes are expanded when first opening the CHM, without having the one expanded node at a time setting on.
Please advise!
Normally all the needed HTML files are stored in the CHM file (you can try decompiling the CHM to be 100% sure that they are inside). However, there is an issue with the CHM reader shipped with Windows. Make sure that the path where the CHM file is located does not contain any ‘#’ characters. When it does there are problems that prevent the default Windows viewer from reading the stored files (you can change the CHM file location or use another viewer to avoid this bug). Also avoid using the ‘#’ character in your project HTML file names.
I’m not sure how (and if) you can have multiple nodes expanded right now, but you can easily have one node expanded by passing command line arguments to the CHM viewer (hh.exe). See : http://www.help-info.de/en/Help_Info_HTMLHelp/hh_command.htm (Example of opening a help topic using a topic path). I hope this helps.
My output is empty. all pages say, “This program can not display webpage.”
.Please help
Mickey
In order to get an idea of what is going wrong right click on the page that says “This program can not display web-page.” and select “Properties” from the pop-up menu. On the dialog that appears take a look on the URL of the HTML file. Usually you get this behavior when the URL of the HTML file gets truncated because it contains # characters (this is a bug of the CHM viewer that is shipped with Windows – if you use another CHM viewer everything will be fine). Normally the URL is sth like this:
mk:@MSITStore:F:\Backup\vbaxl10.chm::/html/Welcome_HV01134775.htm
You can check if the CHM file is built right by moving it to a simpler path, lets say C:\1\ or Z:\ and opening it from there.
If it doesn’t open from there, make sure that:
– The names of the HTML files in your project directory do not contain any # characters.
– Try to remove the folders from your project directory and to put ALL your HTML files in the main project folder (where your HHK, HHC and HHP files are).
Of course, the above can make many of the links in your HTML pages invalid.
I hope this helps.
this is pretty good stuff. Very helpful indeed. Just tried out a test project in 2 minutes, and it works well! No problems (fyi : Win 7 64 bit system)
I liked the decompile chm option too, because it allows me to decompile a chm that I like the html feel of, and then use one of the decompiled html pages as my starting point for creating the help system for my app. thanks again!
I’m glad you ‘ve liked it! 🙂
Hi – To get CHM creator to compile correctly, I had to update the Compiler path to point to the right compiler on my computer. However, if I exit the program and start it again, the compiler path goes back to the program default of “C:\Program Files\HTML Help Workshop\hhc.exe”. I noticed that when I update the compiler path, I get a error popup to the effect of “—————————Error—————————Access to the registry key ‘HKEY_USERS\.DEFAULT\Environment’ is denied.”. The error message seems to imply that the program may be trying to update the default path to the newly chosen path, but is having issues writing to the registry. Can you tell me the registry path (they key name, type and data) where CHM Creator stores this setting? I can try and edit it manually through regedit. I navigated to the path shown in the error popup, but the keys there did not make sense to me. thanks! btw this is a Windows 7, 64 bit system.
Yes. I’m aware of this problem.
Key:
HKEY_USERS\.DEFAULT\Environment
Name:
CHM_COMPILER
Data:
C:\Program Files (x86)\HTML Help Workshop\hhc.exe
(It’s a string value)
I thought this would be a good program but when I saw the link on this page about the movie… I opened it and realized this person is an idiot.
ANYONE who believes 9-11 was a conspiracy by the U.S. government to destroy the Twin Towers…. well, I then uninstalled the software and looked for some other software written by a possibly SANE person. Bye bye idiots.
OK. To be clear:
1) I’m not an American. I’m Greek.
2) I don’t have the illusion that a video can be offering the truth about everything. However there are some serious and valid questions in there, and if the American government respects their citizens they should answer them. Until now they haven’t.
3) Normally I wouldn’t care at all about what is happening in another country, especially if they don’t want me to. However, when events like 9-11 (especially without proper investigation) become an excuse for countries (not only America) to invade and interfere in foreign countries (while uninvited, unwanted and even despised by the local population) in a way so brutal and provocative, that is sth I cannot leave untouched. And whatever happened at 9-11 does not justify all the lives of the innocent civilians that are killed or become cripple every day in so many countries that I have totally lost count.
4) Loyalty to a nation (which is a very good thing to have) does not mean that you should be loyal to politicians.
On the contrary, politicians are very likely to become corrupted and you, the votes, are the only one who can control them if that happens. In fact every country has a constitution and EVERY constitution has one major role in a democracy: to prevent the people in power turn against their citizens. It’s not because someone believed that the people in power are always evil, but it is a proven fact throughout history that people in power often turn against their citizens and someone/something should protect their individual rights.
5) I admire your stubbornness and your passion to uninstall my software for strongly disagreeing with me, but I’m not making money or fame out of it, so I shouldn’t care much if you use it or not.
6) I may be an idiot, yet everyone has a role in this world and we are all idiots more or less. If we weren’t all idiots we wouldn’t be like that…
Great tool!
just one thing, when I am creating the book the icon that appears in the TOC is one like a document icon (not the folder one) when I compile the book the icon that appears in the chm file is an empty box with a question mark inside (the folder icons is well drawn), there are no compile errors. What do I do wrong?
You are doing nothing wrong.
This program wasn’t meant to display the TOC as it would be displayed in the CHM Viewer.
And, for now, you can only control the appearance of the icon for folders in the CHM TOC (whether it would be “Book” or “Folder”).
Thanks for this fantastic tool!
Just to help, remember that the names of the paths, folders and files must not contain empty spaces, as this will also cause the compiled chm file not to open normally.
Thanks! I will look in to that.
Sorry for taking me so long to respond.
Unfortunately, both the CHM compiler and the default CHM viewer in Windows are full of bugs and Microsoft doesn’t seem to care much about it.
I guess that it would be better if I tried to replace the whole package instead of fighting against the countless MS bugs…
It would be nice if you can make a new version of your program 🙂
Yes, I am planning this for some time now, but I always leave it for later, because I work on some other projects now too.
Actually, I already have a new version (which has some improvements and bug fixes), but I was thinking of adding more features before releasing it.
We will see. Perhaps I should release it as it is.
OK. I’ve just published the new version! 🙂
Thanks for update 🙂
Do you have a changelog? 😉
I didn’t update the change log in the help manual this time (I made this release in a hurry), but here is what has changed:
– Improved the application icon.
– Fixed the bug on saving the CHM compiler path to the registry.
– Added the ability to insert Index entries based on Regex (regular expressions) searches.
– Made the Compiler Output Window remember its last position (and not maximize all the time).
– Added an “Abort” button to the Compiler Output Window (so that one can abort an ongoing compilation).
– Added more options to the “Expand Using” menu item (displayed when you right click on a TOC item).
– Added the “Remove Character Diacritics” option in the “Auto-Name Selected” menu item (displayed when you right click on a TOC item).
– Made some internal modifications.
I think that’s all. I wanted to put more on this release but I realized that the previous version was in pretty bad shape, so I’ve released it more early and with less features.
Hello, the “View To Edit” and “Windows Display -> Views -> Use View” doesn’t work.
Can you please build a language interface in program so that I can e.g. this translate in German? 😉 I could also try to translate the help file in German 🙂
Hello Alex.
Yes, these two don’t work yet and, when I finally implement their intended functionality, I might replace them with something else.
Also, thank you for your offer to translate the various parts of the application. Currently, I am not planning on adding support for multiple languages and, now that I think of it, if I go the easy way to do this, there will be many appearance problems (e.g. when the translation is too long, the layout of the application should adjust itself and the implementation of this is a time consuming task under the currently used technology). Moreover, I don’t know if there are so many people out there that need this application to be translated.
However, when I add all the other features that I want, I will see if this feature can be included also and how it should be implemented.
This shit is frickin’ amazing!
Nice job my friend!
By the way, i liked the phrase in your License agreement – I love Windows 😀 😀 :D. Funny!
Thanks! 😉
Thanks. This is an excellent software. A stunning project, My compliments.
Thank you!
Unfortunatelly, Microsoft has neglected both their CHM Viewer and their CHM Compiler.
So, after I find time to make a few improvements to this project, I might have to build a viewer and a compiler too.
I really love it..
I use it to create my software help file.., especially LogView++.
Thank you so much.
regards,
Sugi (firagiel.com)
Hi,
This download link seems to be broken…
regards
tmark
Sorry for this. I have updated the download link.
Thanks, That was quick 🙂
regards
tmark
Hi thanks for the great software!
Is there any way to access/ change context-sensitive IDs that exist in the help files?
If you mean topic-ids, unfortunately, they are not supported yet (CHM Creator will not include any).
You could create the project files with CHM Creator and then use notepad or Help Workshop to add the topic-ids and compile (you should compile with Help Workshop because CHM creator with discard your edits). Here is what is required:
http://stackoverflow.com/questions/3440868/determine-topic-id-to-open-it-in-chm-file
Another way to display a page of the CHM (in case you need to open it from a program of yours) is to use this C# code:
string str = PathToChmFile + "::/" + "page1.htm"
ProcessStartInfo psi = new ProcessStartInfo("hh.exe");
//psi.WindowStyle = ....; // Probably maximize the window...
psi.Arguments = "mk:@MSITStore:" + str;
Process.Start(psi);
…where “page1.htm” is inside the CHM located on path “PathToChmFile”.
OK, thanks for that info – not really a problem to use the Help Workshop compiler
Hi There, Thanks for the freeware. I actually want to be able to create the chm files programmatically. Is there a possibility that I can use your program API and call it in my program, pass it an html file and get chm file as an output? or any pointers to use the HTMLHelpWorkshop APIs to create chm files programmatically would also be great! Thanks.. ! 🙂
Hello.
There is no API in my application that you can use.
The easiest way is, I believe, to create the HHP, HHC, HHK files by code (it is not that difficult) and then call the HTML Help Compiler (hhc.exe) shipped with HTML Help Workshop to compile them.
If you don’t want an index in your CHM, you don’t need the HHK file.
HHC.EXE accepts the HPP file path as an argument and it compiles it (although it has various problems and bugs).
Generally, try to keep your file paths as sort as possible to avoid HHC.EXE bugs.
I hope this helps! 🙂
Great tool!
But some of the images of my project get lost once the project is compiled.
I read in Common Problems And Solutions that I should include them by adding them into the pool, but I’m afraid I’m doing something wrong because I can’t make them appear.
Could you post an example or addtional instructions to include missing images?
Thanks!
Finally I fixed it saving all my HTML as filtered HTML and redoing from start.
Pretty cool software!
Very Very Good Solution
Thanks so much for making this free solution available!
Just one issue I’ve been fighting with is that the “Expand using anchors in headings” function seems to require the anchor names to have double quotation marks around them i.e. name=”Myname”. However, software-generated HTML doesn’t always do this, and it doesn’t seem to be an HTML requirement (maybe it used to be?). So, I have to manually edit the HTML afterwards to put double quotes around the name in every anchor in order for them to be picked up by the Expand function.
Am I missing something or is this in fact the case?
Hello.
By looking at the code and by trying to remember how it worked, I think it should not care about double vs. single quotes, but I might be missing something.
Are you using the latest version (1.4.0.0)?
Can you send an HTML snippet of an anchor inside a heading that the app does not collect when using the “Expand using anchors in headings” option?
Hi – yes I’m using 1.4.0.0 which I just downloaded a few days ago.
The issue isn’t with single vs double quotes, it’s no quotes vs double quotes. When using MS Word 2010 and saving as HTML, it doesn’t put any quotation marks around the name in the
a
tag.Yes, I see…
Currently
name
attribute values must be enclosed in single or double quotes to be detected.But in the future I might make some changes to the application to make it more tolerant to these cases.
Indeed, having no quotes is considered to be valid HTML.
Thanks for the feedback. 🙂
Hello,
I am trying to make a CHM file, and I can see it from my computer. However when I transfer it over to another computer I cannot see any of the HTML files or pictures. It works great on the computer that I am compiling it on, I just wish I could transfer it over to other computers.
Hi. 🙂
If you cannot see the page when you click on a topic from the table of contents, most probably, it is something with the path of the CHM on the computer you copied it to. Try copying it to a shorter path (e.g. on “C:\”) and opening it form there. Paths containing the ‘#’ character can cause problems as well.
Finally, if you cannot see pages ONLY when you navigate to other pages using links from within the HTML of a page, then probably something is wrong with your HTML pages (e.g. the links use an absolute path like “file://C:/HTML_files/myfile.html” instead of relative ones like “myfile.html”).
I hope this helps! 🙂
If not, perhaps you could share the CHM and let me examine it.
Hello,
Great tool!
The search tool seems to have a bug for me. I can use it successfully my current project, however once I compile it with no changes made, the new CHM search tool does not seem to work properly.
I get “No topics found” as a response, while with the version prior to being compiled will find entries with the same search.
Hello.
From my experience, the search in the CHM viewer only works for English alphabet characters.
Either the CHM compiler does not index the rest of the text or the CHM viewer of Windows does not support Unicode.
I am not entirely sure which of the two is the problem.
I doubt if what you see can be fixed without writing a new CHM compiler or a new CHM viewer (Microsoft doesn’t seem to be in the mood fixing their CHM tools).
If you have any extra feedback, let me know, but from what I understood so far this problem probably requires massive amounts of work.
Thanks for your feedback. 🙂
Hello,
I am developing a CHM to associate to an Excel custom function library. To link Excel’s insert function form to the proper help topic (Index) in the CHM I need to define the HelpContextID, in the Excel Application.MacroOptions Method. Refer to https://msdn.microsoft.com/en-us/library/office/ff838997.aspx if necessary. I had tested the concept using a demo of a commercial CHM editor; whenever I crated a help topic it gave me a value (integer) I could use as the HelpContextID. I could not find the equivalent in KEL. I tried using the name of the index but it doesn’t work.
Can you help?
Thanks
Patrice
Hello Patrice.
I think what you need is topic IDs.
KEL CHM Creator does not support them yet.
You can, however, add them manually or using HTML Help Worshop.
Here is how you can do it by manually editing the HHP file:
http://stackoverflow.com/a/3442308
And here is how you add them with HTML Help Workshop (which is buggy and messy):
Note that, after you add the topic IDs in the HHP file (with either of the two ways), you should avoid opening and compiling with KEL CHM Creator because it does not recognise those sections and it will remove them when it saves the HHP file.
I hope this helps. 🙂
Pingback: Creating CHM Help Files - System Automation Solutions LLC
Does just as good a job as the commercial product CHM Editor Plus. Great job!
Hello,
can you please update?
Thank you.
Hello Alex.
I am planning on a new release that will add a proper HTML parser to the app, but I am pretty busy lately.
Is there something specific that you want to see implemented?
If it is translating the user interface, it feels like it is a lot of trouble compared to the benefits.
But I will think about that too.
Pingback: Creating CHM Help Files - System Automation Solutions LLC