When you are publishing modular projects to HTML Help the procedure you use depends on the merging method you are using for your child modules. If you are using runtime merging you must publish all the child projects separately, they are not published automatically when you publish the master project.
All other output formats only use publish time merging.
When you use publish time merging all the child modules of the master module are combined automatically. You only need to publish the master file, all child modules are included in a single publish run.
In HTML Help publish time merging is an option that you can select for each module in your master project.
In all other formats publish time merging is always used for all modules. All modules will always be published together with the main project as one large project.
|
Runtime merging is only possible in HTML Help. It is irrelevant for all other output formats. Runtime merging is an option that you can select for each module in your master project.
Important: | The project filenames and the output filenames of the CHM files must be identical. The references between the child and the master help files are based on the filenames and if project and output filename don't match the references will be invalid. |
Child modules configured for runtime merging must be published individually, they are not published automatically when you publish the master module!
1.Check your master project for child projects configured for runtime merging. They are easy to identify because their contents are not displayed as part of the master project's TOC.
Display for a project inserted
with runtime merging
2.Right-click on the runtime modules, select Edit Child in the context menu to open the child projects, then select the child projects in the Project Explorer and publish them.
If any of your child modules contain their own child modules configured for runtime merging these must also be published separately.
3.Publish the master module.
4.Copy all the published help files to the same directory if you have not published them to the same directory. |
When you use publish time merging almost everything is controlled by the master project. The settings of the child projects are ignored and replaced by the settings of the master project. However, if settings in the child projects are unique and not duplicated in the master then they will be used:
|
Project search paths defined in the child projects that are not defined in the master project are added to the end of the master project's list of paths. When inserting a graphic or a snippet file Help+Manual then searches through all the paths in order and inserts the first file it finds with a matching name. This means you must be careful not to use files with duplicate names in your child projects.
|
|
If child projects contain user-defined variables with names that are not used in the master project the definitions in the child projects will be used. However, if the master project contains variables with identical names then the definitions from the master project will be used.
|
|
If a child project contains user-defined include options not defined in the master project they are available in publish time merging.
|
|
The HTML topic page templates of the master project replace all child project templates that have the same names. For example, this means that the Default template from the master project template is always used in all child modules, replacing any template changes that may have been made in the child projects.
If child projects contain HTML page template definitions with names not used for templates in the master project then these HTML page templates will be used in the child projects.
For example, if you have defined an HTML page template called Secondary in your child module it will be used in the child module if there is no HTML page template called Secondary in the master module.
However, if the master module contains a template called Secondary then the master's version will be used in the child module as well and the version defined in the child module will be ignored.
|
|
Baggage files in the master project have priority over Baggage files with the same name in child projects. See Baggage handling for further details.
|
|
See also:
Publishing Your Projects
Modular Projects (Reference)
Baggage file handling