This project has moved and is read-only. For the latest updates, please go here.

SHFB Guided Installation

Feb 22, 2011 at 3:06 AM
Edited Mar 2, 2011 at 3:36 AM

There have been a number of requests recently to come up with a better way of installing all of the various parts that make up Sandcastle and the extra items available in the Sandcastle Styles project and SHFB itself.  I think I've come up with an acceptable solution in the form of a guided installation application.  The current version of Sandcastle, the patch, the other tools in the Sandcastle Styles project, and SHFB are included.  For the non-distributable parts (the help compilers), it will check for their presence and, if not found, it tells you where to get them and how to install them.  When installing Sandcastle, it checks for and can fix the issues caused by the Visual Studio SDK (a user copy of DXROOT and a path to the outdated SDK version).  It also includes an option to install the MAML schemas in Visual Studio's global schema cache to provide IntelliSense when editing MAML topics in Visual Studio.  Each step gives details about what it will do and provides the necessary warnings so that you don't overwrite something you might want to keep such as customizations to the Sandcastle transformations.  The optional components can be skipped and installed later.  The application can also be extended by third party build tool providers to install their tools too.  An example is included in the source code for the installer for the Sandcastle Help File Builder and is used in the installer below.

Since this is the initial release, I'd like to get some feedback on it.  Were there any problems?  Is anything missing?  Any suggestions for improvements?

You can get it here:



Mar 1, 2011 at 12:30 PM

Hi Eric,


I really like the guided installer. But I have a problem  creating a new project. After I chose a filename to save to I get an Error : "The typeinitializer for 'SandcastleBuilder.Utils.Design.FrameworkVersionTypeConverter' caused an exception" (freely translated from german ...). Though I didnt find this error here I decided to ask you.



Mar 1, 2011 at 3:37 PM
Edited Mar 1, 2011 at 4:23 PM

I'm getting the same thing. It occurs when I try to open an existing project or create a new project.

I downloaded the source, and this error appears to be caused the fact that Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86) is returning an empty string in FrameworkVersionTypeConverter.InitializeStandardValues().

I'm running on Windows XP Pro (32 bit). If I change ProgramFilesX86 to just ProgramFiles, I do not get the error.



Mar 1, 2011 at 4:43 PM

Thanks for the report.  I'll get it fixed later today.



Mar 1, 2011 at 6:54 PM

I downloaded the guided installer, but when I go through that, I don't get the GUI that I would expect to be installed? Am I missing something? So I dont have the SHFB, or is it installed on a specific location where I haven't checked yet?

Mar 1, 2011 at 8:12 PM

Where did you download it from?  The one at the Sandcastle Styles site is just Sandcastle and the patch related items from that project site.  If you download it from here, this is the one that includes SHFB.  It's the last thing installed prior to the completion step in the list.  Once installed, you'll find in under Start | All Programs | Sandcastle Help File Builder.



Mar 2, 2011 at 3:32 AM

I've published a refresh of the installer that fixes the issue.  Uninstall SHFB, download the updated installer, and reinstall SHFB.  The issue will then be fixed.



Mar 2, 2011 at 7:59 AM

Hi Eric,


I used the updated installer and all is working well. Thanks for the really fast help.

And more comments on your installer in general:

I first tried to gather the needed components manually, but failed badly. Using your great installer made it really easy and easy to understand what to install and what to not.






Mar 3, 2011 at 6:28 AM


thanks for the reply. I guess I had the guided installer of the Styles project. I used the latest release from here and got the help file builder.


Mar 24, 2011 at 5:16 PM

Trying to run the guided installer on a new machine -- the guided installer itself crashes with System.IO.FileNotFoundException. This (wait for it) on Windows Server 2008 64-bit. Nothing else is installed. Do I need to install Visual Studio (which one) or is there some other prerequisite?

(I'm looking for the simplest, most reliable way of installing all of SC so that I can roll this out to a group of writers working on a large project.)



Mar 24, 2011 at 8:29 PM
Edited Mar 24, 2011 at 8:31 PM

Is the crash happening at start up?  Are all the files from the installer download ZIP file present?  Do you have .NET 3.5 SP1 installed on the server?  Does it tell you what file it could not find?



Mar 24, 2011 at 10:04 PM

I had 3.5. Installing 3.5SP1 fixed the problem.



Apr 14, 2011 at 11:09 PM

The guided installation is a really great feature. From a developer who has had to handle project integration and is now struggling with a integration schema that requires lots of steps, requirements and seperate installations, I've been considering doing something like this for some time. Is this third party software or SDK or did you do that from scratch?

Apr 15, 2011 at 2:59 AM

I wrote it from scratch.  It's a fairly simple implementation and just provides what I needed to get the guided installation running for the Sandastle tools but it's open enough to be used for pretty much anything.  The intent was to have it install all of the core tools and patches for Sandcastle while leaving it open to extension so that other tools such as SHFB and those from other providers could use it to install their stuff too.  Implementing pages is mainly a matter of picking one of the base page types, creating the HTML page that goes with it, and implementing any functionality in the page class such as launching the installer and so forth.  The code is available from the Sandcastle Styles project if you want it.



Apr 15, 2011 at 6:11 PM

I just used the new installer after a question about what to uninstall in what order first, and receiving Eric's answer it wasn't necessary. It makes the process a breeze. Great feature.