The MSDN help system that's installed with Visual Studio 200X is fine, dandy, and generally just... fine. It provides
metric and standard tonnes of information, and as such suffers from the consequences. Let's say I am going to be doing a
bunch of WPFing... great fun, but I am constantly forgetting the nuances of the different controls. I can use MSDN in VS, or
MSDN on the web. The former suffers from information overlodus maximus, such that it's often a slog to get to exactly what
you want (no, I don't want Grid for Compact Framework, no I don't want Grid in VSTO, no I don't want Grid in...).
The online system is nice, too, but suffers from "Internets" lag, and some of the same issues you get w/ the desktop app.
Yes, you can try to scrunch your search basis in the offline app, but here I'm doing WPF, and that's not an option either
in the Index setting or Search settings:

...but, by Jove, I can certainly screen for WinForms or VSTO... yessir... poor WPF...)
To our rescue comes PackageThis -- a free tool on CodePlex. PackageThis presents you with a simple UI that displays the entire MSDN Online doc
tree, marking each and every entry with a checkbox. You then pick-n-choose the entries you like, then instruct PackageThis to
download, build, and export those MSDN entries into an offline help file (HXS or CHM formats). You get a hideously fine-grained level of customization in your content.

So in my case, I'd like to make a WPF-focused help file from MSDN's online content. No problem -- I load PackageThis, and
go find top-level WPF topics I'd like. I then right-click them, tell it to go spelunking on MSDN Online and grab all of the
sub-items within that area of interest, and off it goes. Note that each time you expand an item in PackageThis's tree, it
then retrieves the next level of the tree from MSDN Online, and thus it takes a good long time for it to go grab all of your content
if your subtree is large. Once I've picked my sub-topics of interest (everything I want is checked-off), I can then tell
PackageThis to build a CHM file for me. It does this dutifully, using Microsoft's free HTML
Help Workshop (which you'll need to install before using PackageThis) under the covers, rendering a highly-focused,
searchable, indexed, almost-completely-offline MSDN help file for (in my example's case) WPF. Beautiful!

(make sure you right-click nodes and choose "Select This Node
and All Children", or you'll only get the top level node's data, even if it has the little "+" to indicate that it has
kids...)

This process of fetching the data takes a while, as you'd expect...
(silly Internet...)

Above, the end result -- yummy.
In cases where PackageThis doesn't grab the contents of a particular link (which happens when a link points to
something that's not in one of the downloaded subtrees you grabbed), the Windows Help system simply downloads and displays
the Internet-borne content just as it would normally.
PackageThis isn't perfect, but it's free, and is absolutely booty-kicking when you're a type-A, impatient, lazy guy like
me -- I can create a few highly-focused help files for my topics of interest, and suddenly my help searching is worlds
faster.
Posted
Jan 17 2008, 03:28 PM
by
mike-henderson