How to use the MSDN Jan99 library from a shared location

Description

This document describes how to install the MSDN library on a shared location and how to setup a workstation and its Visual Studio 6 installation to use the MSDN library from this shared location. The idea is to install the library once on a 'server' (WinNT server, WinNT workstation, W95 or W98 PC) and let everyone use it from his own workstation. This saves every developer up to 1.2 GB on his own workstation!

Installing the MSDN library on the server

  1. Install the MSDN library from the CDs into a folder on the server, for example in a (newly created) folder "C:\MSDN".
     
  2. Share this MSDN base folder (short name, no spaces), for example with the share name " MSDN".
  3.  

\\ServerName\MSDN is now containing the installed MSDN library. Also, the folder "%windir%\Help" will now contain the file "HHCOLREG.DAT" ("%windir% is the folder where Windows is installed, for example "C:\WinNT" or "C:\Windows")

Setting up workstations

The general idea is this: apparently the HTML Help engine can recognize collections (.COL) of help files, but only when it is registered in the HHREGCOL.DAT file in the Windows Help folder. By tweaking this file, we can use the MSDN library from a shared location instead of the workstation's harddisk.
And next, by entering some registry data, even Visual Studio 6 can use the shared library.

Disclaimer:  Follow these instructions at your own risk. There is no guarantee that these instructions will work for your particular situation, language or workstation. Please change locations and paths where appropriate.

  1. Install Internet Explorer 4.01 SP1 on every workstation, if not already installed.
     
  2. Install Visual Studio 6 from the CDs onto the workstation's harddisk, if not already installed. Do not install the MSDN library that comes with Visual Studio 6!
    (Note that Visual Studio 6 doesn't have to be installed to use the MSDN library.)
     
  3. Install Visual Studio 6 SP2 as well onto the workstation's harddisk, if not installed already.
     
  4. The MSDN installation on the server will have installed the file "HHCOLREG.DAT" into the server's Windows Help folder. It is an XML file describing where HH.EXE (HTML Help engine) can find files for a so called 'help collection'. Copy this file from the server to the Windows Help folder of only one of the workstations. We'll have to edit it before copying it to other workstations. Be careful: if the "HHCOLREG.DAT" already exists in the Help folder of the workstation, you'll have blend the contents of the two files.
    So copy "%windir%\Help\HHCOLREG.DAT" from the server to "%windir%\Help\" of one of the workstations.
     
  5. Go to the workstation and open the "%windir%\Help\HHCOLREG.DAT" file in Notepad or another ASCII editor. Replace any "C:\MSDN\" instances (the location where we installed the MSDN library onto the server) with "\\ServerName\MSDN" (the shared location of the MSDN library). You have just made the HTML Help Collection registration of MSDN network aware.
     
  6. Create a new shortcut (on the desktop) and make its target "%windir%\hh.exe \\ServerName\MSDN\99JAN\1033\MSDN900.COL" and it's starting point "\\ServerName\MSDN\99JAN\1033\".
     
  7. Double-click the shortcut; the HTML Help help viewer should start with the MSDN library.
    If not and it complains about unable to load the collection, then the HHCOLREG.DAT file doesn't point to the correct shared location of the MSDN library; see point 5.
    If not and it complains of incorrect HTML Help controls, download and execute HHUPD.EXE for your preferred language; see http://www.microsoft.com/workshop/c-frame.htm#/workshop/author/htmlhelp/default.asp.
     
  8. Copy %windir%\Help\HHCOLREG.DAT and the shortcut from the workstation to all other workstations. Every workstation now should be able to use the MSDN library from the shared location.
     
  9. Now we need to make Visual Studio 6 on the workstation aware of the shared MSDN library. Create a new text file with the following contents:

    REGEDIT4

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTML Help Collections]

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTML Help Collections\Developer Collections]
    "Language"="0x0409"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTML Help Collections\Developer Collections\0x0409]
    "Preferred"="0x035901750"

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTML Help Collections\Developer Collections\0x0409\0x03571b6c0]
    @="MSDN Library (JAN 99)"
    "Full"=dword:00000001
    "Filename"="\\\\ServerName\\MSDN\\99JAN\\1033\\MSDN900.COL"

    Again, please replace \\\\ServerName\\MSDN\\ with your own location for the MSDN library. Note that you'll have to write a double backslash for every backslash in the path! The numbers "0x035901750" or "0x03571b6c0" represent dates (does anyone know how?), and "0x0409" is US English.

    Save the file with a '.REG' extension, and double-click the file in the Explorer on the workstation to register these settings in the Registry.
     
  10. Start Visual Studio 6 and click the help icon. You can change the preferred help in the Options dialog: Tools | Options | Tab Help system.
     
  11. If everything is fine, apply the registry patch to every workstation with Visual Studio 6 which has to use the shared MSDN library.
     

You might want to backup the workstation's "%windir%\Help\HHCOLREG.DAT", the shortcut and the registry file for tweaking a new workstation. Be careful with replacing HHCOLREG.DAT, because other programs register Help file collections as well (SQL Server 7 for example).