Copy link to clipboard
Copied
Hello All,
Preliminaries: Using RH8 on a Windows XP SP3 laptop with 2GB of RAM. Been using RH since 1998 Blue Sky Software days...not a n00b
I've recently embarked on an effort to decompile a little over a dozen .CHM files, of varying sizes (from 100KB to 9.5MB), for which we no longer have the source files, and have no hope of finding.
I've read through most of the topics pertaining to using HTML Help Studio (HHS) here in the forums, but I've come across some behavior for which I can't find a resolution.
I used Peter Grainge's method for reverse engineering .CHM files and also Pete Lees' recommendation of keytools to reproduce a useable HHP file. Both methods worked as needed, except for gaining access to the MAP ID information.
HHS did a great job extracting all the source files, but when I look at #IVB node under Top Level, nothing displays in the right-hand pane. The window flashes/flickers as if HHS is running some process and nothing displays, I have verified this result with all of our help files, and again with a few other known context-sensitive .CHM files from other companies.
First, what exactly is the #IVB node? Is it a table? Some other representation of the topic-to-form/field mapping data? Is there another tool out there that I can use to view the information contained therein?
Is it possible that, for some reason, the mapping data just can't be extracted from out help files?
Has anyone else, who has tried/is trying to reverse engineer CHM files, noticed this behavior in HHS?
Could it be something in the Windows environment (XP SP3)? Is there an environment variable I can set to fix the display issue?
Have there been any code changes to HHS? If so, when? What were the changes? Which version of RH contained the most recent changes to HHS?
Any insight and guideance is greatly appreciated!
Thanks in advance,
Paul
Copy link to clipboard
Copied
For one of our files with context sensitive help, I can see the following in the #!VB node:
30000 = Alerts\Alert_Messages.htm
Also, the node has a number next to it. Does yours? I think the number somehow relates to the amount of data in it. For example, for one project it is 1036 and another it is 284 - the first is a large project the second is much smaller and thus few context pages. It might give an idea if there is any content and how large it is.
If it's a very large file, maybe you need to go get a coffee and come back in a while? (I think it's very old software, so possibly the grunt of your PC won't help.) Or maybe there is some fault in your install - I'm not sure how to repair that component - possibly a repair install of RoboHelp. Or try FAR, to see if that works better; it sounds like it's had more work done on it.
Amber
Copy link to clipboard
Copied
Hi Amber,
Thanks for the response.
I do see numbers in parentheses next to the #IVB node (and the other nodes, as well). The numbers vary accross projects and range from a couple of hundred to a couple of thousand (for example, 612, 2060, 2268). So, if that value is some kind of data-size indicator, it seems that there is some data there, however, nothing ever displays, even after a coffee break . Also, with other nodes that can be veiwed and have much larger numbers, for example, #URLSTR is 20719, the display of the information is virtually instantaneous.
I have noticed that I get a standardized Windows crash message, "HHS has encountered a problem and needs to close...," but I am almost 100% certain that happens when I have more than one instance of HHS running and I close one. I can reproduce that crash message with no problem.
If it is an installation problem, I am likely out of luck for an easy fix. I work in a very large organization, and all software products are controlled through a software repository, installed over the network, require authorization, blah, blah, blah. In other words, I don't have the installation discs.
I'll give FAR a shot and see if I fare better.
I did notice that, when using Keytools to extract the files and re-create the HHP file, the ALIAS section contained a mapping that looks exactly like what I would expect to see in the #IVB node:
401 = directory\file_001.htm
It's been a really long time since I could hand-code an HHP file (or even needed to), but I don't remember if one could use the ALIAS section to provide mapping for context sensitivity. Is it possible that the TWs before me we using the ALIAS for mapping, instead of a .H file?
Thanks again,
Paul
Copy link to clipboard
Copied
From memory the alias file is where the mappings get put. ie. devs give you a .h, you associate with a file in RH and that association is recorded in the .ali file/alias section. I think - I'm not at work now, so I can't double-check one of my projects.
In any case, if you have that, you should just be able to copy (or cut? not sure if there would be a problem leaving it in the hhp file) the information and process as per Pete Lees' context sensitive instructions.