3 Replies Latest reply on Aug 17, 2011 1:11 AM by steve.norris

    Command Line build - Embedded chm overwriting new chm

    steve.norris Level 1

      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

        • 1. Re: Command Line build - Embedded chm overwriting new chm
          Peter Grainge Adobe Community Professional (Moderator)

          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

          • 2. Re: Command Line build - Embedded chm overwriting new chm
            Fly Molo

            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

            • 3. Re: Command Line build - Embedded chm overwriting new chm
              steve.norris Level 1

              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