• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1592
  • Last Modified:

Compile HTML to CHM help file

Hello,

I want to compile HTML code and image resources to CHM help file.
0
Mohamed Abowarda
Asked:
Mohamed Abowarda
  • 7
  • 5
  • 3
  • +4
4 Solutions
 
deisrobinsonCommented:
0
 
kris_perCommented:
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@deisrobinson, @kris_per: I need to do this myself using C# or VB.NET without using another software.
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
kris_perCommented:

Microsoft HTML Workshop comes with a command to which you can pass the html files and configuration files and it will create chm file. Check out this link => http://msdn.microsoft.com/en-us/library/ms524267(v=VS.85).aspx.

Then, in c# you need to create the project file (.hhp file) and content file (hhc file) and pass these to html workshop command (hhc) to create chm file.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@kris_per: I need to compile the HTML and Images using C# or VB.NET code.
0
 
PaulHewsCommented:
Here is information on the CHM format.
http://www.russotto.net/chm/chmformat.html

I don't believe you will find sample code anywhere to create this format, and it looks pretty complicated, including using a custom version of the LZX algorithm for compression.  You would either have to write it yourself, hire someone to write it, or use HTML help compiler, which is free from Microsoft.  In fact all you really need is the hhc.exe command line tool and hha.dll in the same folder (which is the same procedure I use in the EE profile help compiler http://www.experts-exchange.com/Community_Support/Input/Q_22862698.html ).  MS Help Workshop contains instructions on the command line usage.
0
 
aikimarkCommented:
@Medo3337

Please explain the context of your question, especially why you have rejected the use of the HTML Help utility available (FOR FREE) from Microsoft.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@aikimark: I want to compile the help file using C# or VB.NET application.

I have found API to do so but it's ".lib" file for C++ usage:
http://msdn.microsoft.com/en-us/library/ms669985(VS.85).aspx
0
 
aikimarkCommented:
@Medo3337

You can launch the utility from a C# or VB.Net application.
0
 
PaulHewsCommented:
htmlhelp.lib is *not* for compiling chm files.  It's for displaying help from your C++ program.
0
 
kris_perCommented:
@Medo3337

This HTML Help API you have mentioned is to embed the HTML help control inside another application and to configure how the html help window should be displayed and what page to display in the html help window, etc.

This API is not to create new CHM files...

As I mentioned above, you can call the HHC command from within a c# program and pass the .hhp(which is an xml file) and .html files to this command to create .chm file.
0
 
help-infoCommented:
BTW .hhp is not XML - more good old .ini format ;-)

As posted above (kris_per) calling the command line from within a C# programm is the way to go ..
See also:
http://www.help-info.de/en/Help_Info_HTMLHelp/hh_command.htm#Compile

Best regards
Ulrich Kulle
Microsoft Help MVP 2007-2009
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@help-info: I don't want to use command lines to do this, I would prefer C# or VB.NET code to compile the resources to .chm file.
0
 
aikimarkCommented:
In your opinion, would a Shell() function be the same as a command line?
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@aikimark: Using Shell to access what application?

I don't want the user to see black screen while processing.
0
 
aikimarkCommented:
the compilation window can be hidden.
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
@aikimark: Is that the only way that used in CHM creator softwares?
0
 
aikimarkCommented:
If you want to do it through object manipulation, I think you're out of luck.  I don't think there is an ActiveX object that wraps this.
0
 
Tom KnowltonWeb developerCommented:
I've requested that this question be deleted for the following reason:

This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0
 
PaulHewsCommented:
Humbly submit that the question was indeed fully answered, even if the question asker did not like the solution:

http:#a33478846
http:#a33812316
http:#a33912060
http:#a34030715
0
 
Mohamed AbowardaSoftware EngineerAuthor Commented:
In this question, I wanted a way to do that without using other console applications, but since it's alternative solution, I have accepted them.

Thanks everyone,
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 7
  • 5
  • 3
  • +4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now