Skip to main content
Known Participant
August 8, 2011
Question

Command Line build - Embedded chm overwriting new chm

  • August 8, 2011
  • 2 replies
  • 692 views

Many of my projects reference material in other chm files. The "link to remote URL" copies the remote chm file(s) into the active project. If I then compile the active project, it also outputs those "copied in" chm files. This is expected behavior and works if the chm being imported is current.

However, I am using a simple batch file to compile 40 projects sequentially into a single folder:

cd C:\Program Files (x86)\Adobe\Adobe RoboHelp 9\RoboHTML

rhcl.exe S:\STHELP\SOURCE\en-US\RoboHelp\01Help\01Help.xpj -b

rhcl.exe S:\STHELP\SOURCE\en-US\RoboHelp\02Help\02Help.xpj -b

rhcl.exe S:\STHELP\SOURCE\en-US\RoboHelp\10Help\10Help.xpj -b

etc....

The problem is that if project 10 already contains 02.chm (from an earlier build), then the new 02.chm is overwritten by that older verson of 02.chm when project 10 compiles.

If I compile each project and copy the chms to a single folder, when all new chms are present then it all works. The developers however, are looking to automate the build process.

Is there a way to inhibit the "copied in" 02.chm chm being output from project 10, or re-import 02.chm (the new one) when project 10 compiles. Is it even possible to compile all the projects into a single folder?

Regards

Steve

This topic has been closed for replies.

2 replies

Inspiring
August 16, 2011

steve.norris wrote:

Is there a way to inhibit the "copied in" 02.chm chm being output from project 10, or re-import 02.chm (the new one) when project 10 compiles.

You can compile each project separately then copy that project's CHM to some target folder. Specifying all projects to build to a single folder will cause RoboHelp to output whatever baggage files it has in the last project built (without knowing the nitty-gritty of your setup). Explicitly copying specific files after they are compiled takes the job out of RoboHelp's hands.

Essentially (guessing at your SSL):

rhcl.exe S:\STHELP\SOURCE\en-US\RoboHelp\01Help\01Help.xpj -b

rhcl.exe S:\STHELP\SOURCE\en-US\RoboHelp\02Help\02Help.xpj -b

rhcl.exe S:\STHELP\SOURCE\en-US\RoboHelp\10Help\10Help.xpj -b

xcopy S:\STHELP\SOURCE\en-US\RoboHelp\01Help\!SSL!\Microsoft_HTML_Help\01.chm //sometargetmachine/targetfoldername /d /y

xcopy S:\STHELP\SOURCE\en-US\RoboHelp\02Help\!SSL!\Microsoft_HTML_Help\02.chm //sometargetmachine/targetfoldername /d /y

xcopy S:\STHELP\SOURCE\en-US\RoboHelp\10Help\!SSL!\Microsoft_HTML_Help\10.chm //sometargetmachine/targetfoldername /d /y

If you are just linking to external topics among your CHMs, then they don't even really need to be in the project when it is compiled. If the CHMs are merged then you could likely just alternate the compile and copy commands.

Hope this helpful somewhat.

Lucas

Known Participant
August 17, 2011

Hi Lucas,

What I have are numerous projects that contain merged help which reference each other like a nest of ants on bungee ropes!

I did consider creating each chm in its own folder first and then copying each created chm into a single folder however, but would have meant re-creating over 200 ssl files and discarding the work already done. I was looking for another solution and I think I may have it.

Given that all project source files are located in a single folder, by purging the folder of ALL chm before running the command lines batch file, there are no old baggage files to interfere with the process. This does leave each project with a host of broken links to those missing baggage files (I must admit that I do not like to see ANY broken links) but it does seem to work.

Can you see any other problem with this approach?

Regards

Steve

Peter Grainge
Community Expert
Community Expert
August 8, 2011

Is it even possible to compile all the projects into a single folder?

Specify a common location in the SSL.

Take a look at the Merged Help for RoboHelp 9 page on my site. There is a section on CHMs at the end.


See www.grainge.org for RoboHelp and Authoring tips

@petergrainge

Use the menu (bottom right) to mark the Best Answer or Highlight particularly useful replies. Found the answer elsewhere? Share it here.