10 Replies Latest reply on Aug 6, 2009 1:26 PM by Pete Lees

    HHC3015:Warning Error -Alias created but file does not exist?

    forme3d Level 1

      Hello folks,

       

      I have recently had to recreate a merged help project (the previous project became corrupt) and added two new Map IDs to two new topics. I added them to the AutomationServer and DomainManager child projects.  When I go into the the master project and generate  this error appears in the output view:

       

      HHC3015: Warning:
      An alias has been created to "#BMS_Command_Preview_Fields" but the file does not exist

       

      This is one of the two new Map IDs I created. It pertains to the AutomationServer child project. I guess the DomainManager child project didn't cause an issue and is working properly. I have looked at the AutomationServer *.h file and the (Master directory) redirect file to see if I put a typo in the line or the wrong path..but it seems ok. The only difference about this child project that is different from the other child projects is that is using the default BSSCDefault.h filename. The other children projects *.h files are uniquely named. I thought maybe the # symbol was a "space" so I re-checked my syntax in the *.h, master.ali and redirect.html file and there is no space. I am not an expert on merged help systems.  I am stumped. Here are my entries:

       

      BSSCDefault.h :

      #define Connecting_to_the_Server1    100
      #define Client_Preferences_Fields    102
      #define Stored_Batches_Overview    105
      #define Starting_Services    106
      #define GPI_Triggered_Batches_Overview    110
      #define Managing_Custom_Timeline_Views    101
      #define Managing_Timeline_Objects    104
      #define Resume_Batch    107
      #define Batch_Properties    108
      #define BatchSchedule    111
      #define ServerPreferences    103
      #define GPISNMPPrefs    112
      #define SystemServicePrefs    113
      #define EISPrefs    114
      #define DPIPrefs    115
      #define StoredBatch    109
      #define SCGProps    116
      #define ACGProps    117
      #define BMS_Command_Preview_Fields    118

       

      Master.ali :

      PSI_Generator_Properties=redirect.xhtm#PSI_Generator_Properties
      PSIG_Configuration_Fields=redirect.xhtm#PSIG_Configuration_Fields
      Program_Video_Decoding_Fields=redirect.xhtm#Program_Video_Decoding_Fields
      BMS_Command_Preview_Fields=redirect.xhtm#BMS_Command_Preview_Fields
      Manage_Alarm_Configuration_Fields=redirect.xhtm#Manage_Alarm_Configuration_Fields


      redirect.xhtm:

      else if (Code == "BMS_Command_Preview_Fields")
          URL = "AutomationServer.chm::/BMS_Command_Preview_Fields.htm";

      else if (Code == "Manage_Alarm_Configuration_Fields")
          URL = "DomainManager.chm::/Manage_Alarm_Configuration_Fields.htm";

      - end

        • 1. Re: HHC3015:Warning Error -Alias created but file does not exist?
          forme3d Level 1

          ...While doing some searching...I found:

           

           

          "Late to the party, but...

          This is a bug in the HTML Help compiler, which, when it encounters a bookmark in the alias file,  always reports an error — regardless of whether the aliasing is correct or not. Provided you've set up the topic file-to-ID aliasing correctly, the context call to the bookmark should work correctly.

          Pete"

           

           

          ...so it may be working?It was a regular mapID and topic, not a bookmark though.....

           

          I also noticed that I added that child project to the master project and decided to look at the old (corrupted) master project. It seems that particular child project was not part of the orignal master project. So the master project can still suck up all of the proper context-sensitive info even if it isn't in the master project? After I removed the child project from my new master project and regenerated...the error still appeared!!??

           

           

          also, I am using RoboHelp 7 generating HTML Help in a merged help system in the following arrangement:

           

          Master project

               - child1 project

               - child2 project

               - ...child8 project

          • 2. Re: HHC3015:Warning Error -Alias created but file does not exist?
            Pete Lees Level 2

            Hi, Mike,

             

            The redirection method that you're using requires you to set up the map IDs and aliases in the master Help project rather than the slaves. The idea of this method is to channel each context call through the master Help file, where it is redirected to the appropriate slave, instead of passing the call directly to the slave. From your description, it sounds like you've compiled BSSCDefault.h into the slave file rather than the master file, and consequently the master file has no knowledge of this mapping:

             

            #define BMS_Command_Preview_Fields    118

             

            If this is correct, the solution should therefore be to add the mapping to your master's .h file.

             

            In case you haven't seen it, here is a complete description of the method that you're using:

             

            http://helpware.net/htmlhelp/how_to_merge_ctx2.htm

             

            It's odd that you don't receive an error message about the other map ID that you recently added. In that case, did you add the mapping to the master .h file instead of (or as well as) the .h file for the DomainManager file?

             

            One way to verify that the context help calls work is to use the Test HtmlHelp API facility in HTML Help Workshop. You simply fire the required context integer at your master Help file, like this:

             

            hhw.png

             

            Pete

            • 3. Re: HHC3015:Warning Error -Alias created but file does not exist?
              forme3d Level 1

              Hi, forme3d,

               

              Thanks greatly for replying. I know this isn't easy diagnosing through replies. See replies in  Blue text

               

              The redirection method that you're using requires you to set up the map IDs and aliases in the master Help project rather than the slaves. The idea of this method is to channel each context call through the master Help file, where it is redirected to the appropriate slave, instead of passing it to the slave directly. From your description, it sounds like you've compiled BSSCDefault.h into the slave file rather than the master file, and consequently the master file has no knowledge of this mapping:

               

              #define BMS_Command_Preview_Fields    118

               

              If this is correct, the solution should therefore be to add the mapping to your master's .h file.

               

               

              Forme3d: I added the (above) mapping info into to the master.h file and regenerated the master project. The same error showed up.

               

              In case you haven't seen it, here is a complete description of the method that you're using:

               

              http://helpware.net/htmlhelp/how_to_merge_ctx2.htm

               

              It's odd that you don't receive an error message about the other map ID that you recently added. In that case, did you add the mapping to the master .h file instead of (or as well as) the .h file for the DomainManager file?

               

              Forme3d: Nope. I did not have the other map id added to the master.h file. Before I got your latest reply, this is what the master.h file looked like (just one entry):

              #define MainHelp    40014


              As you suggested I added the trouble map id and the other (no-trouble) map id for grins :

              #define MainHelp    40014
              #define BMS_Command_Preview_Fields    118
              #define Manage_Alarm_Configuration_Fields    43050

               

              FYI: I did find an old masterold.h file which had a whole bunch of map id info in it. I wonder why it is so chock full of IDs and the current one is not?

               

               

               

              One way to verify that the context help calls work is to use the Test HtmlHelp API facility in HTML Help Workshop. You simply fire the required context integer at your master Help file, like this:

               

              hhw.png

              HTML Help Workshop hangs every time I use it...


              I installed the Help Workshop (said I had a later version installed) and typed in the master.chm, selected HH_HELP_Context, typed main and 118 and clicked Test.. Here is the result:


               

               

               

              TestMapID.gif

               

               

               

               

              PeteFYI

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

               

              If I look at the Master.hhp file I see a [MAP] section. Do I need to add all of the *.h files there? Currently the only one listed is BSSCDefault.h which coincidently is the *.h file for the (problem) AutomationServer child project, where the trouble Map ID lives. Hmmmm. See attached Master.hhp file. I have a feeling that the contractors who prepared the instructions on how to do this may have left out something.

              In the next post I will post the instructions I am using....

               

               

               

              • 4. Re: HHC3015:Warning Error -Alias created but file does not exist?
                forme3d Level 1

                Here are the instructions that I was left with....:

                 

                 

                2.4.5   Context Help
                The  context help is created in each module help project and in the Master help project.
                2.4.5.1   Context Help Components
                Each context help button requires three items:
                A help ID (numerical). This ID is a number that the NMX programmer adds to the code in
                order to call a particular help topic.
                A keyword or phrase (descriptive but brief). The keyword is the link between the ID and
                the help topic file. Keywords should reflect the content of the help topic. For example, the
                keyword for a topic called “Importing a Profile” might be ImportProfile.
                A help topic file. The help topic file is an .htm file that resides in one of the modular help
                systems or in the Master help system.
                The following support files are involved in context help:
                .h (header) files from each help module that has context help, including a Master.h file for
                the Master help project. The header file maps the ID to the keyword. You create the
                header files by hand. Each header file resides in the top-level folder of the help module to
                which it pertains. 
                .ali files from each help module that has context help. The .ali files for the individual
                modules map each keyword to the appropriate path and help topic (.htm file) within that
                module. The .ali file for each module is created automatically when you link IDs to topics
                within RoboHelp. 
                Master.ali. The Master.ali file is the link from the modular help project to the Master help
                project. The modular .ali file mapping does not take into account the existence of a
                Master project. To map files correctly, you must use a redirect file. The Master.ali file maps
                each keyword to the appropriate line in the redirect file. 
                 
                redirect.xhtm. The redirect file resides in the Master help project. It maps each keyword
                to the appropriate help topic, providing the module name, path, and topic file name.


                2.4.5.2 Adding an  Context Topic
                To add a context topic to the NMX modular help system:
                1. Use Notepad to open the .h file for the help module to which you’re adding a context
                topic. For example, if you’re adding a topic to the Configuration help module, open
                configuration.h in the top-level folder for the Configuration help module.
                2. In the .h file, define a topic keyword and ID for the topic. The ID you assign should be the
                next available ID for that project. That is, if you’re adding a topic to Configuration help,
                and the last ID assigned in Configuration.h is 40041, the new topic should use the ID
                40042. The keyword you assign should reflect the content of the topic.
                3. Save and close the .h file.
                4. Open the project file for the help module in RoboHelp, and create the new topic.
                5. Use the RoboHelp Context-Sensitive Help UI to assign the #define IDs to the topics.
                6. Save the project file.
                7. Compile the module.
                8. Place a copy of the updated .h file for the module into the top-level Master project folder.
                9. Place a copy of the updated .chm file for the module in the top-level Master project
                folder.
                10. Open the Master.ali file in Notepad, and add the new topic information to the file.
                11. Save and close Master.ali.
                12. Open the redirect.xhtm file in Notepad, and add the new topic information to the file.
                Be careful when copying and pasting. Make sure to refer to the correct help module for
                each entry.
                13. Save and close redirect.xhtm.

                14. From the Master project’s !SSL!\Microsoft_HTML_Help folder, remove the old versions of
                the revised .chm file.
                15. Open the Master help project in RoboHelp, and compile the project.
                16. Test the files delivered to the Master project’s SSL folder. (Put them on an computer,
                and test the new context topic and a few random topics.) For more information, see
                2.7.2 Testing Online Help on page 17.
                17. Submit the new .chm files for check-in. The batch of files that you send should include all
                revised modular .chm files plus Master.chm.

                • 5. Re: HHC3015:Warning Error -Alias created but file does not exist?
                  forme3d Level 1

                  I am going to try to attach some of the master related files (*.h,hhp, etc)....


                  Master.hhp

                  Master.ali

                  redirect.xhtm

                   

                  Hopefully this will help. Also here is a video of my testing using RoboHelps CSH tester ....at the *.chm level for each child project the links work..but when I test the master.chm file that is where the links do not work.....something is broken...hopefully the attached files can shed some light.

                   

                  http://screencast.com/t/IyyDubHk

                   

                  Thanks!

                  • 6. Re: HHC3015:Warning Error -Alias created but file does not exist?
                    forme3d Level 1

                    See attached files...the forum won't let me upload files...

                    -Master.hhp

                    -master.h

                    masterold.h

                     

                    .end

                    • 7. Re: HHC3015:Warning Error -Alias created but file does not exist?
                      forme3d Level 1

                      New Master.hhp vs Old Master.hhp?

                       

                      For your reading pleasure. Since the forum won't let me upload files of any type. Both the "New" master.hhp file and the "Old" master.hhp file. Keep in mind the old one sits in the corrupted master project directory.

                       

                      master.hhp (NEW):

                      [OPTIONS]
                      Compiled File=Master.chm
                      Title=Master
                      Contents File=Master.hhc
                      Index File=Master.hhk
                      Default topic=Introduction.htm
                      Default Window=NewWindow
                      Error log file=
                      Display compile progress=No
                      Display compile notes=No
                      Full-text search=Yes
                      Binary Index=Yes
                      Auto Index=No
                      Enhanced decompilation=No
                      Binary TOC=No
                      Flat=No

                       

                      [WINDOWS]
                      NewWindow="Master","Master.hhc","Master.hhk","","",,,,,0x520,0,0x3006,[5,5,512,384],0x0,0x 0,,0,0,0

                       

                      [FILES]
                      Introduction.htm
                      RoboHHRE.lng

                       

                      Master.glo
                      Master.brs
                      [ALIAS]
                      #include Master.ali

                       

                      [MAP]

                       

                      #include BSSCDefault.h

                       


                      [TEXT POPUPS]
                      BSSCDefault.h

                       

                      [MERGE FILES]
                      UsingSystemX.chm
                      Configuration.chm
                      StreamEditor.chm
                      Options.chm
                      DomainManager.chm
                      Alarms.chm
                      ProxySites.chm
                      NMXReports.chm
                      AutomationServer.chm

                      ------------------------------------------

                      Old Master.hhp:

                      [OPTIONS]
                      Compiled File=Master.chm
                      Title=Master
                      Contents File=Master.hhc
                      Index File=Master.hhk
                      Default topic=Introduction.htm
                      Default Window=NewWindow
                      Error log file=
                      Display compile progress=No
                      Display compile notes=No
                      Full-text search=Yes
                      Binary Index=Yes
                      Auto Index=No
                      Enhanced decompilation=No
                      Binary TOC=No
                      Flat=No

                       

                      [WINDOWS]
                      NewWindow="Welcome to NMX","Master.hhc","Master.hhk","","",,,,,0x420,0,0x200e,[0,0,500,400],0x0,0x0,,0,0,0

                       

                      [FILES]
                      Introduction.htm
                      redirect.xhtm
                      RoboHHRE.lng

                       

                      Master.glo
                      Master.brs
                      [ALIAS]
                      #include Master.ali

                       

                      [MAP]
                      #include Alarms.h
                      #include BSSCDefault.h
                      #include Configuration.h
                      #include DomainManager.h
                      #include master.h
                      #include Options.h
                      #include ProxySites.h
                      #include StreamEditor.h
                      #include usingsystemx.h

                       

                      [TEXT POPUPS]
                      Alarms.h
                      BSSCDefault.h
                      Configuration.h
                      DomainManager.h
                      master.h
                      Options.h
                      ProxySites.h
                      StreamEditor.h
                      usingsystemx.h

                       

                      [MERGE FILES]
                      C:\Company\NMX\4.5_Help\Master_4.5\UsingSystemX.chm
                      C:\Company\NMX\4.5_Help\Master_4.5\StreamEditor.chm
                      C:\Company\NMX\4.5_Help\Master_4.5\NMXReports.chm
                      C:\Company\NMX\4.5_Help\Master_4.5\Configuration.chm
                      C:\Company\NMX\4.5_Help\Master_4.5\Alarms.chm
                      C:\Company\NMX\4.5_Help\Master_4.5\ProxySites.chm
                      C:\Company\NMX\4.5_Help\Master_4.5\Options.chm
                      C:\Company\NMX\4.5_Help\Master_4.5\DomainManager.chm
                      C:\Company\NMX\Help\Master\Alarms.chm
                      C:\Company\NMX\Help\Master\NMXReports.chm
                      C:\Company\NMX\Help\Master\DomainManager.chm
                      C:\Company\NMX\Help\Master\Options.chm
                      C:\Company\NMX\Help\Master\ProxySites.chm
                      C:\Company\NMX\Help\Master\UsingSystemX.chm
                      C:\Company\NMX\Help\Master\StreamEditor.chm
                      C:\Company\NMX\Help\Master\Configuration.chm

                      • 8. Re: HHC3015:Warning Error -Alias created but file does not exist?
                        Pete Lees Level 2

                        Hi, Mike,

                         

                        If I look at the Master.hhp file I see a [MAP] section. Do I need to add all of the *.h files there? Currently the only one listed is BSSCDefault.h which coincidently is the *.h file for the (problem) AutomationServer child project, where the trouble Map ID lives.


                        Yes, I think that this is the crux of the issue. You're aiming to channel all the context help calls for the slave Help files through the master file, so you need to store all the mappings inside the master file. This is achieved by modifying the MAP section in the master's project (.hhp) file. For each slave file, you add a #define statement to the MAP section that references the slave's header (.h) file. Before you compile the master Help file, you need to ensure that all the required header files are in the same folder as the master's .hhp file.

                         

                        Can you you give this a try and, if you continue to have problems, send me your redirect.xhtm file and .hhp, .h, and .ali files for your master and slave? You can contact me by clicking my user name at the left.

                         

                        I installed the Help Workshop (said I had a later version installed)


                        This is a known issue, and nothing to worry about. I won't go into details other than to point you to this message in the MSDN Developer Documentation forum:

                         

                        http://social.msdn.microsoft.com/Forums/en-US/devdocs/thread/332e56a8-38d4-4b65-bda7-5be12 0b01830/#5103f9af-02e9-4d06-a40e-5fd6cdaf270d

                         

                        Pete

                        • 9. Re: HHC3015:Warning Error -Alias created but file does not exist?
                          forme3d Level 1

                          BHi Pete,

                           

                          Yes, I went ahead and adding the other *.h files to the [MAP] section of the Master.hhp file. Regenerated and saw all of those errors fly by which I think is RoboHelp's way of saying I am trying to reach out to those map IDs. I believe RoboHelp was using the data in those other *.h successfully.


                          Also, QA confirmed that that one trouble button was working. Good news.

                           

                          So today I added the info for another Map ID to another help topic. Went through all of the steps and regenerted the Master project. When presented with the Click to view Master.chm button the following error appeared:

                           

                           

                          invalidHTMLTag.gif

                          But I also noticed that all of those errors weren't flying by  in the Output View so I examined the Master.hhp file again. The file had reverted back to only having one *.h file listed instead of the one where I had manually added all of the other *.h files!!! Is RoboHelp overwriting that file? I am beginning to think that RoboHelp is slowly falling apart before my eyes!! I am also going to suggest to my supervisor that we upgrade to RoboHelp 8 just to see if it saves me from this constant hassle!! My deadline is two weeks away.

                           

                          Have you ever seen the above error message? Does RH overwrite that file?!?!

                          Thanks,

                          Mike

                           

                          • 10. Re: HHC3015:Warning Error -Alias created but file does not exist?
                            Pete Lees Level 2

                            Hi, Mike,

                             

                            Here is a link to another discussion, which suggests that this problem can arise when the last entry in the TOC is an Include statement for a slave .chm file:

                             

                            http://groups.google.co.uk/group/macromedia.robohelp.robohelp_for_htmlhelp/browse_thread/t hread/7468a0bd66dcc143/8ae33fe4f5c0f2d8

                             

                            I think this would be a RoboHelp bug, if true in your case, because the HTML Help compiler doesn't normally have any problems with Include statements at the end of a TOC.

                             

                            You may also find this discussion useful:

                             

                            http://forums.adobe.com/thread/426228

                             

                            As it happens, I don't use RoboHelp for Help development, so I can't comment on the problems with corrupted .hhp files. But if this is happening for you, one option may be to try compiling your master Help file outside RoboHelp, with HTML Help Workshop. At least you can be sure then that none of the supporting files that are required for compilation is corrupted in any way. However, it does mean that any RoboHelp-specific additions to the Help viewer — primarily browse sequences and glossary — won't be available in the master Help file.

                             

                            Pete