Blog‎ > ‎

PackageThis

posted Sep 29, 2010, 7:30 PM by Robert Chandler   [ updated May 2, 2011, 9:10 PM by Robert Chandler ]

Introduction

PackageThis.exe allows you to select MSDN online content and package it into a help file (VS 2010 help, VS 200? help or .chm).

Download from VS Gallery: PackageThis 
(VS Gallery version now supports VS 2010 help files).

Or download directly from the Patches area in CodePlex.
CodePlex: PackageThis > SourceCode > Patches.
(eventually this will be promoted to the official version)

      See Also Post: Language Packs for VS 2010 help.


Package This Tour

PackageThis.exe can be found in the \PackageThisGui\bin\Debug folder of the downloaded zip file.


Unzip all files and run PackageThis.exe -- it takes a several seconds to connect to the server. 

Make sure MSDN Library is selected (if that's what you want to package).

Select the language you want to download:

I like to first find the MSDN section (or sections) I need using the browser. 
Here I'm interested in "Windows User Experience Interaction Guidelines".


In Package This, you can either manually check each required page,
or right+click a topic and choose "Select This Node and All Children...".


I've selected "Select This Node and All Children...". The download will take some time so go and have a coffee.


Finally your TOC branch items are now checked. The right side displays a log of pages downloaded. 
Before packaging make any final selections.


Now package the selected pages using the file menu. We want package to .mshc (VS 2010 Help).


Specify the .mshc help file name and package install info.

Product name and Book name will be displayed in Help Lib Manager when you install and uninstall.
Important: For Vendor name don't use "Microsoft" as from this has a special meaning (see debugging below).


Install the new help package using Help Library Manager.
PackageThis 1.3.2 (or greater) can launch Help Lib Manager from the File menu.


PackageThis allows you to override the default catalog (EG. For VS English the catalog name vs/100/en-us).



When Help Library Manager opens, find your book and select "Add" then click the "Update" button.

Important: You must first "uninstall" any old help first. Otherwise installation will appear to work OK but when you view help you will only see the old help.


Viewing Help

To view the help.... I'm going to use the Helpware H3Viewer (free app) to view VS 2010 Help.

All .mshc help created with PackageThis appears under a toc node called "Package This".



If you can view it then we are done!


Debugging

Not all installs go smoothly. Syntax errors in the help will result in an exception during installation.

To view the details of the error I use the Helpware tool mshcMigrate.exe (free app) to read the error. Or you can open Windows Event Viewer.

I got this error when I used a Vendor name = "Microsoft". Don't use this name as it expects a signed file.

An error occurred while updating local content: Microsoft.Help.CacheLib.CacheLibNonCabPackageFoundForMSFTException: Exception of type 'Microsoft.Help.CacheLib.CacheLibNonCabPackageFoundForMSFTException' was thrown.
....


Unfortunately MS Help Viewer 1.0 reports errors but not the name of the HTML file that contains the error.
So we must unzip the help file and use a XML syntax checker.

You can use the Helpware tool mshcMigrate.exe to syntax check the files.

On the second tab specify:
   a) the folder of files you want to check...
   b) the .mshc to zip the files to once checked.


Running Help Library Manager

If you have .mshc help package & HelpContent.Setup.msha manifest file (used to install) we use Help Library Manager to install help.

Note: For Help Viewer 1.0 the install manifest must have the name "HelpContentSetup.msha".

A quick side tour: 

Open HelpContentSetup.msha in notepad.

Here we see the installation instructions. Notice in the "package-list" section, you could add more packages. Feel free to edit this file.

<html xmlns="http://www.w3.org/1999/xhtml">
<head />
<body class="vendor-book">
<div class="details">
  <span class="vendor">MSDN</span>
  <span class="locale">en-us</span>
  <span class="product">PackageThis_UXGuidelines</span>
  <span class="name">PackageThis_UXGuidelines</span>
</div>
<div class="package-list">
  <div class="package">
    <span class="name">UXGuidelines</span>
    <span class="deployed">true</span>
    <a class="current-link" href="UXGuidelines.mshc">UXGuidelines.mshc</a>
  </div>
</div>
</body>
</html>
 

Note: The .mshc help file is just a renamed ZIP file and contains all the topic HTML and images files.
  If you need to fix a bug in help you can rename to .zip and decompress this file (just like you can with 
  Word .docx files).

Installation Continued

Run Help Lib Manager as administrator.

Important notes:
  • Always run HLM as Administrator when installing help (required for unsigned help).
  • Always uninstall help before installing new help (if old and new have the same file\product\book name).



When Help Library Manager appears, select "Install content from disk".


Select your help manifest file and click Next

The rest of help install is as listed above.


Comments