Help Builder
HTML Help Builder
Gravatar is a globally recognized avatar based on your email address. HTML Help Builder
  Chris Roberts
  All
  Sep 2, 2025 @ 03:38am

I'm just starting a project to update a help file using Help Builder. I want to have someone help me on this project but am wondering how we can work on separate parts of the help file and then be able to combine them into one project when finished?

Thanks, Chris

Gravatar is a globally recognized avatar based on your email address. re: HTML Help Builder
  Richard Kaye
  Chris Roberts
  Sep 2, 2025 @ 03:54am

I'd highly recommend looking at Rick's new Documentation Monster. It addresses so many of the quirks of WWHB and is much more suitable for collaborative work.

Gravatar is a globally recognized avatar based on your email address. re: HTML Help Builder
  Rick Strahl
  Chris Roberts
  Sep 8, 2025 @ 10:48am

What are you trying to create as output? HTML Help? Then Help Builder is the only option you have.

However i would recommend to skip that in favor of building Web based HTML help, and explicitly linking to HTML content on the Web from the Web site output built by Help Builder or Documentation Monster. HTML Help has a myriad of issues for security and more importantly very limited HTML feature support.

As Richard mentioned, Help Builder is being sunsetted as it's really getting long in the tooth. Documentation Monster is meant to be its replacement and it's getting close to release but is still in pre-release (you can try it however). It does not produce HTML Help however, because HTML Help requires IE 11 rendering (actually IE 8 rendering unless you hack the registry) and that is not supported by the new templates. Output options are a plain, static HTML based Web site, PDF, Self-Contained Windows Viewer and packaged HTML output.

If you're planning on building HTML based output (ie. for Web, PDF or Viewer) then Documentation Monster is the way forward. Since you just bought your licenses recently you can swap out for free, but as I said DM's not quite in full release - there are still a few rough edges to work out (hopefully in the next month or two).

That said I'm using it for all my documentation now, for Markdown Monster, WebSurge, Web Connection and Client Tools plus several .NET libraries. All those docs have been updated to use Documentation Monster now.

If you want to check it out go here:

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: HTML Help Builder
  Chris Roberts
  Rick Strahl
  Sep 12, 2025 @ 09:03am

Hi Rick,

Thanks for that. Ray and I both purchased the help builder (rdodge@crimestar.com). If you can swap the help builder licenses over to Documentation Monster licenses and send them to us that would be much appreciated.

Thank you, Chris

Gravatar is a globally recognized avatar based on your email address. re: HTML Help Builder
  Rick Strahl
  Chris Roberts
  Sep 13, 2025 @ 11:46am

Will do...

But before I do you should take a look whether it will work for you first. Currently the preview version is open to all and it's still a little rough around the edges.

There will also be a theming update in the next week or so, but that will be easy to update to as long as you stick to the stock theming.

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: HTML Help Builder
  Carl Chambers
  Rick Strahl
  Jan 14, 2026 @ 09:54am

Hey Rick,

In the course of finally getting everything moved over to my Win11 machine, I encountered an issue with HelpBuilder.

I'm using v4.6 and one of my help files uses helpbuilder_extension.prg but I have not been able to get it working, presumably, due to C:\Program Files (x86) being read-only.
The installer does not provide a means of installing to a different directory and trying to change the directory permissions does not solve the problem.

I use helpbuilder_extension.prg to build HTML content from the results of Fox queries.
Can this be done with Documentation Monster ?

Thanks,
Carl

Gravatar is a globally recognized avatar based on your email address. re: HTML Help Builder
  Rick Strahl
  Carl Chambers
  Jan 14, 2026 @ 10:03am

Carl,

The problem is that HB compiles the PRG into an FXP file and if that file can't be written to disk then that operation fails. Offhand I can't remember the logic used for this exactly but if I remember right if the FXP exists and is newer than the PRG the FXP is used for execution instead of recompiling and executing.

Giving permissions to the folder should work unless your Anti-Virus is interfering and just outright doesn't allow writing to that folder.

One thing you can try:

  • Start Help Builder as Administrator
  • Startup run once

That should work and it should create the FXP. I think after that initial run you may not need to run as admin again as the FXP will then be there to be found for execution.

Documentation Monster is a .NET application so there's no support for FoxPro code. At the moment there's no addin support but that will come eventually if there's a decent amount of uptake. But it'll be .NET based obviously.

First I have to actually release it officially 😄 Functionally it's just about ready but docs are not and there are a few loose ends that still need to be cleaned up.

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: HTML Help Builder
  Carl Chambers
  Rick Strahl
  Jan 14, 2026 @ 10:36am

Thanks Rick,

Sorry, but what do you mean by Startup run once ?

Thanks, Carl

Gravatar is a globally recognized avatar based on your email address. re: HTML Help Builder
  Rick Strahl
  Carl Chambers
  Jan 14, 2026 @ 11:46am

Just run as Admin once. That should create the FXP - after that it should run the FXP (read)

Also I just poked around in the source code and another thing that can be done is this:

  • Open an Admin terminal
  • Go to Help Builder install folder
  • Create a HelpBuilder_Extension.fxp file: echo > HelpBuilder_Extension.fxp
  • Run wwhelp.exe PERMISSIONS

This creates an FXP file and assigns Interactive User permissions. At this point the file should be writable (unless AV interferes).

FWIW, here's the logic used to execute the extension file:

************************************************************************
FUNCTION CompileAndLoadHelpBuilderExtension(lcFile)
***************************************************
LOCAL llError, loException, llNeedToCompile

IF !FILE(lcFile)
   RETURN .T.  && Nothing to do is not a failure here!
ENDIF

llNeedToCompile = .T.
TRY
   *** This catches both fxp file not existing and being out of date
   *** Slightly more efficient than checking file, and the dates
   llNeedToCompile = FDATE(FORCEEXT(lcFile,"fxp"),1) < FDATE(lcFile,1)
CATCH
   llNeedToCompile = .t.
ENDTRY

llError = .f.

IF llNeedToCompile
   TRY
      *** Should delete first
      ERASE (FORCEEXT(lcFile,"fxp"))
   CATCH
      llError = .t.
   ENDTRY
   IF llError
      RETURN .F.
   ENDIF

   loException = null
   TRY
      COMPILE ( lcFile )
   CATCH TO loException
      llError = .T.
   ENDTRY

   IF llError
      RETURN .F.
   ENDIF
ENDIF

TRY
  SET PROCEDURE TO (lcFile) ADDITIVE
  LOCAL loException as Exception
  loException = null
  TRY 
     *** Try to run generic entry point
     EVALUATE( "HelpBuilder_Extension_Init()" )
  CATCH TO loException
     IF loException.ErrorNo # 1  && Not found is not a failure
       llError = .t.
     ENDIF
  ENDTRY
CATCH
  llError = .t.
ENDTRY

RETURN !llError
ENDFUNC

as you can see if the FXP once exists it'll not recompile and just use it so you shouldn't need special permissions at that point since the file is just read.

Now it's still possible that there's a problem with AV not allowing FXP files to be read at all in Program Files as it's an executable format... If you can disable AV (if you're using something other than Defender) in the Help Builder directory that might be a good idea as well.

+++ Rick ---

Gravatar is a globally recognized avatar based on your email address. re: HTML Help Builder
  Carl Chambers
  Rick Strahl
  Jan 15, 2026 @ 08:09am

Thanks, Rick.
I appreciate it.

Carl

© 1996-2026