Hey everyone,
I just finished up an application I’ve been working on for a while now. Probably the most complex one I’ve made to date. Due to this, I figured I’d go and make a help document to provide users with some info on it.
I’ve created a CHM file, and set up a helpProvider, however now my problem is how to include this and the HHC (Table of contents) file with my application. I feel like it’d be a pain to require the user to copy the two files themselves, so I’m trying to store them as embedded resources, then have the application write these out in the current directory.
Currently, this is the code I’m using:
var data = Properties.Resources.RERHelp;
using (var stream = new FileStream("RERHelp", FileMode.Create))
{
stream.Write(data, 0, data.Count() - 1);
stream.Flush();
}
helpProvider1.HelpNamespace = Directory.GetCurrentDirectory() + "\\RERHelp\\RERHelp.chm";
This works just fine, but it means I’d have to run through this twice, once with data set to Properties.Resources.RERHelp, and once for the Table of Contents file. Is there a better way to do this? Perhaps some way to embed the CHM and HHC files in the application, and access them without writing them to disk? If that isn’t possible, which I’m thinking it isn’t, is there a better way to go about it than how I am currently?
Thanks for any help!
Best Regards,
Ian
Oh, wow. Turns out I didn’t need the HHC file as well. I assumed I did because when I’d open the help dialog, it would say that it couldn’t find the table of contents.hhc file. I assumed for some reason it needed that in addition to the CHM. I originally just made a method to pass the resources to so as to prevent redundancy, and called that once for the CHM, and once for the HHC, but then I noticed this bit:
I’m not sure why that – 1 was there, the solution I found had it, so I just left it there. When I removed that, the program ran, wrote out that file, and could then read it for the help documentation without the complaint of the missing HHC. All is well. Thanks for the suggestions, everyone!