We have a process that actually creates a compile-able help project on the fly (based on parsing of source code). In the past it was only used to compile an HTML project with the Microsoft help compiler so it only created the .hhp, .hhk and .hhc files (along with all the content pages). We now want it to create all the files that RH would need so that we can use RH to compile various targets.
I've examined all the various project files and it seems pretty straightforward to create everything except the .cpd file (it's the only binary file). I've also found out that, at least on the surface, the .cpd file is not needed to open a project because it will get regenerated automatically if missing.
But I wonder what information might be stored in the .cpd that can't be regenerated by RH so I can see if anything would be fundamental to our use.
Can anyone tell me what operations might be done in RH, stored in the .cpd file and then missing if the .cpd file was erased and recreated automatically?
The CPD file is actually a Microsoft Access database file using a custom file extension. If you open Microsoft Access, you should then be able to open the .CPD and examine all the tables and relationships inside.
I was hoping not to have to dive quite that deeply into it, especially since trying to make assumptions based on examining data structures without intimate knowledge of their use is never a wise idea
There is obviously (at least to me) much (perhaps most?) of the information contained in the .cpd data structure that is rebuilt from the rest of the project files - so I was hoping some experts could give me a short list of the kinds of things that would be stored in the .cpd that might be lost when the .cpd is automatically rebuilt. Then I could make a higher level decision of it those types of things matter to our use without having to get too far into the weeds...
Anyone else have any insights?
Given the fact that Adobe has added a feature that allows a CPD to be deleted before opening any project, I'm not sure anything is actually removed.
I thought Peter Grainge had documented some of these things over on his grainge.org web site, but I'm not finding what I thought he had. Maybe if you poke around on it you will have better results than I did.
The purpose of the CPD is to make RoboHelp work quicker. It can be deleted as when that is done, RoboHelp rebuilds it from many other files so it's not the CPD that is required.
Your method is creating an HHP file and you can use that to open it in RoboHelp. Have you tried that?
If you have and it did not work, then given that you have a method of creating a CHM, then see the page on my site about Reverse Engineering.
Also there is information in Opening Corrupt RoboHelp Projects that might help given the back door way you are working.
See www.grainge.org for RoboHelp and Authoring information