How to setup the Encyclopedia
Microsoft Visual C++ - MSDN
It is possible to incorporate the Encyclopedia into the MSDN library if you have one installed on your computer to be able to use Encyclopedia along with MSDN help. Serg Bormant (2:5027/12.80@fidonet) sent us a «GuideLine»; here it is (with my remarks, ruiv).
While looking through the encyclopedia (FarEncyclopedia.en.chm), I've discovered a topic about its setup. .. Separate .chm and .chi are good only if you keep the text on removable media while having index (.chi) set up. But it's meaningless for Encyclopedia taking into account its small size. A "monolithic" .chm also contains an index, so it's easy to link it. To incorporate it into the MSDN collection you must consider that *.col describes the collection definition (logical structure) on the sections (Folders) level, while the physical file locations are kept in the hhcolreg.dat file. Here's the method of FarEncyclopedia.en.chm incorporation. I don't claim it to be exactly correct :), but it works well... 0. Input data... Windows 2000 English, Visual Studio 6 SP3, MSDN Jan 2000, HTML Help Control 4.74.8702 Encyclopedia: D:\Program Files\Far\PlugDoc\ FarEncyclopedia.en.chm Collection (this path you can find in the MSDN desktop link): D:\Program Files\mvs\MSDN\2000JAN\1033\ MSDN000.COL Collection registration: D:\Documents and Settings\All Users\Application Data\Microsoft\HTML Help\ hhcolreg.dat 1. Do as following: 1.1. Unload MSDN Library... 1.2. Find all *.col in the MSDN folder (it's msdn000.col in my case), and back them up (same for every other file we change). Then before Folders closing tag </Folders> add the following (added strings are marked with ">"): <XML> <HTMLHelpCollection> <collectionnum value=10003/> ... <Folders> <Folder> <TitleString value="MSDN Library - January 2000"/> <FolderOrder value=1/> ... </Folder> > ><Folder> > <TitleString value="Far PlugRinG Help Project"/> ><FolderOrder value=2/> > <Folder> > <TitleString value="=pluginsr"/> > <FolderOrder value=1/> > <LangId value=1033/> > </Folder> ></Folder> > </Folders> </HTMLHelpCollection> </XML> Pay attention to the tags <collectionnum.../> (collection number) and <FolderOrder.../> (number of folder within the level). (You will need collectionnum when changing next file because FolderOrder depends on the location where you've inserted the fragment. Its number must be greater than the one specified in the previous Folder section) 1.3. Find collection registration file (there can be several files of that type, we need the one where Encyclopedia collection is defined in the <Collections> section), and add the file information to the <DocCompilations> section: (This file (hhcolreg.dat) was in the d:\winnt\help\ directory on my computer) <XML> <HTMLHelpDocInfo> ... <Collections> ... <Collection> <ColNum value=10003/> <ColName value="D:\Program Files\MVS\MSDN\2000JAN\1033\MSDN000.COL"/> </Collection> </Collections> <Locations> ... </Locations> <DocCompilations> <DocCompilation> ... </DocCompilation> > ><DocCompilation> ><DocCompId value="pluginsr"/> > <DocCompLanguage value=1033/> > <LocationHistory> > <ColNum value=10003/> > <TitleLocation value="D:\Program Files\Far\PlugDoc\FarEncyclopedia.en.chm"/> > <IndexLocation value="D:\Program Files\Far\PlugDoc\FarEncyclopedia.en.chm"/> > <QueryLocation value=""/> > <LocationRef value=""/> > <Version value=0/> > <LastPromptedVersion value=0/> > <TitleSampleLocation value=""/> > <TitleQueryLocation value=""/> > <SupportsMerge value=0/> > </LocationHistory> ></DocCompilation> > </DocCompilations> </HTMLHelpDocInfo> </XML> The collection number here is <ColNum.../> (This is the number that you noted while changing collection, see 1.2) 1.4. Load MSDN. You should see a new topic under Contents. Click on the Index tab, wait until the new index is created (it's a long process), and check the operability by typing any keyword, e.g. AF_AVPRESENT. 2. If you didn't succeed, then you made a mistake somewhere :(, so try to return to the first step and repeat from the beginning :) Serg Bormant, 2:5027/12.80@fidonet, [email protected], [email protected] Yours faithfully, Serg Bormant June 29, 2000 --- GoldED+/W32 1.1.4.5 * Origin: To be, to be, two beer: without questions... (2:5027/12.80)
The only drawback of this method is that MSDN indexes should be rebuilt every time the Encyclopedia is changed - i.e. after a new version has been installed (it takes 3-5 minutes). But now you have an integrated FAR Manager Plug-in API help along with MSDN help system.
Note that incorporated Encyclopedia supports cross-links to the MSDN topics.
The latest amendment:
Date: Wed, 26 Sep 2001 21:40:15 +0400 From: Dennis Trachuk <[email protected]> Subject: MSDN Integration Hello All! Article about HTML-help files integration into MSDN http://codeproject.com/winhelp/msdnintegrator.asp (local copy of this article is available) and the best thing, a utility for doing that is available: http://codeproject.com/winhelp/MSDNIntegrator/MSDNIntegrator.zip and the same, but with sources: http://codeproject.com/winhelp/MSDNIntegrator/MSDNIntegrator_src.zip
FAR Manager
It works with HLP as well as with CHM files. Also, you can specify your MSDN collection (MSDNVS98.COL) path in plug-in settings and it will use MSDN collection!