How to convert HLP files into CHM files
Asked Answered
F

4

21

I need some help, I have some .hlp files and I want to convert it to .chm files, as .hlp files don't run on Windows 10.

How can I do that?

Fracture answered 25/4, 2017 at 17:39 Comment(3)
superuser.com/questions/32452/…Reveal
See komeil.com/blog/… ... follow this procedure and you can then open .HLP files directly on Windows 10 (or earlier, per other instructions on that page).Mazda
This is not a programming question. It should be posted in superuser.com.Zoomorphism
F
-1

Well people, after a long time searching, my conclusion was: .HLP files can't be executed by Windows 8 and 10, just in Windows 7 and lower. .CHM files can be executed by Windows 8 and windows 10. SO, I had to create my new .chm file in Help Development Studio on Windows 10 to be executed by it. My old files .HLP became obsolete. It took so much time to do this but I learned so much about this type of files. Finally, thank you for your contribution to my question.

Fracture answered 10/9, 2019 at 14:44 Comment(2)
More than two years ago, I had already recommended above "Converting WinHelp (HLP) to HTMLHelp (CHM)" and "Microsoft strongly advise you move away from WinHelp about ten years ago". And for special test cases there were additional hints for the use under Windows10. So I don't understand why your comment is the answer now. I think it's really a comment.Cashandcarry
It was the only way to solve the problem. I do not have any permission to edit these files with command prompt, my company doesn't allow it. So, I made this solution to this particular problem.Fracture
C
31

I see two or more solutions depending on your requirements:

  • Converting WinHelp (HLP) to HTMLHelp (CHM) or PDF
  • Running WinHelp files on Windows10

Convert WinHelp (HLP) to HTMLHelp (CHM):

A tutorial on my site gives a step-by-step description how to convert WinHelp (HLP) to HTMLHelp (CHM) on a freeware/shareware and "low budget" level. The conversion project example from the download section includes a working structure and example files.

You can of course use a helpauthoring tool (HAT) like Help+Manual, HelpScribble or any other HAT to convert existing WinHelp projects to HTMLHelp.

Run WinHelp on Windows 10:

WinHlp32 for Windows 10 restores the ability to open and view .hlp files on Windows 10.

The WinHelp (.hlp) format has been around since the very early 1990s and is superseded by HTML Help 1.x (.chm). Microsoft strongly advise you move away from WinHelp about ten years ago. But for a test application it's running on my Windows10 machine like a charm.

enter image description here

But some heavy steps to fix the bygone WinHelp Viewer. Please note I don't speak of the HTMLHelp Viewer for *.chm help files here.

Following the solution steps depends on your Windows 10 Version (32 bit or 64 bit). To find out your system type (32 bit or 64 bit), Hold the Windows+R. Type msinfo32 in the Run dialog box that appears and Press Enter.

You know, trying to open a help file (*.hlp) results on a Microsoft Support page.Error opening Help in Windows-based programs: "Feature not included" or "Help not supported".

You'll find a download link for Windows 8.1 but you have to install in a special way for Windows 10 (Windows8.1-KB917607-x64.msu).

  1. Start your command prompt as Administrator (Please NOTE - samples for German here)!
  2. Extract the downloaded .msu file to a temp directory

md msu-extracted

expand Windows8.1-KB917607-x64.msu /f:* .\msu-extracted

  1. Extract the contained CAB-File with 279 files in it.

cd msu-extracted

md cab-extracted

expand Windows8.1-KB917607-x64.cab /f:* .\cab-extracted

  1. Depending on your language settings locate the matching MUI-File e.g. use "cs-", “de-” or "en-". People using the x86 variant need to run “dir x86de-.”

cd cab-extracted

  1. Navigate to the given path for your language "... de-de ..." e.g.:

    cd amd64_microsoft-windows-winhstb.resources_31bf3856ad364e35_6.3.9600.20470_de-de_1ab8cd412c1028d0
    
  2. Here we'll find “winhlp32.exe.mui”. Now we need to replace e.g. %SystemRoot%\de-de\winhlp32.exe.mui with our new file:

    takeown /f "%SystemRoot%\de-de\winhlp32.exe.mui"
    icacls "%SystemRoot%\de-de\winhlp32.exe.mui" /grant "%UserName%":f
    ren %SystemRoot%\de-de\winhlp32.exe.mui winhlp32.exe.mui.w10
    copy winhlp32.exe.mui %SystemRoot%\de-de\winhlp32.exe.mui 
    takeown /f "%SystemRoot%\winhlp32.exe"
    icacls "%SystemRoot%\winhlp32.exe" /grant "%UserName%":f
    ren %SystemRoot%\winhlp32.exe winhlp32.exe.w10
    cd ..
    dir *.exe /s
    
  3. Find the right path starting either with amd64 or x86 and navigate to it:

    cd "amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_1a54d9f2f676f6c2"
    copy winhlp32.exe %SystemRoot%\winhlp32.exe 
    

Edit:

You don't need to replace _none_ in the last cd command step (all single steps tested 2017-09-01 and 2018-08-24 and working on Windows 10).

There is a reset of the workaround described above after a main Microsoft Windows update.

Edit: (copied form comments, thanks to @dxiv)

An alternative to the last couple of steps is to copy the winHlp32 files entirely elsewhere, like C:\etc[\de-de], then re-associate ftype hlpfile=C:\etc\winHlp32 %1 at an elevated command prompt. This avoids clashes with sfc and future windows updates, and HLPs would still work when opened by association (double-click in explorer, or start old.hlp at the cmd prompt).

Cashandcarry answered 26/4, 2017 at 19:33 Comment(13)
thank you very much but I'm just looking for a software that converts my HLP file to CHM file , I don't have any permissions to manage command prompt in my company so I just want to convert my hlp file to chm , nothing else. If you know about a software or company that solves this solution .Fracture
@Cristhopher Mancilla Gonzalez: As mentioned you can use tools to convert WinHelp (HLP) to HTMLHelp (CHM). Please see the links in my answer above. The "step-by-step description" is the man's way, Help+Manual is expensive, HelpScribble has a FreeTrial and is low priced. But you may be warner - you need some knowledge in help authoring. In most cases you have to decompile the *.hlp files for getting the project *.hpj file. After cleaning up all content and Table of Content you need to compile a CHM. I recommend giving HelpScribble a try Convert WinHelpCashandcarry
@Cristhopher Mancilla Gonzalez: Please note - use Software Recommendations when asking for tools.Cashandcarry
I appreciate your answer, very helpful I will try to test your tools.Fracture
How does this compare to RoboHelp? Is this output better? I tried RoboHelp but output is not great.Ladanum
@zar: Please note Microsoft WinHelp (*.HLP) is a very old help format. I posted some links for convertig into another help format *.CHM above. The second part of my answer is only for those Windows10 users who still need to display the old WinHelp format. So don't invest any more time and money in WinHelp. Use web based help or HTMLHelp (CHM) now.Cashandcarry
@Cashandcarry Late +1, would only add that an alternative to the last couple of steps is to copy the winHlp32 files entirely elsewhere, like C:\etc[\de-de], then re-associate ftype hlpfile=C:\etc\winHlp32 %1 at an elevated command prompt. This avoids clashes with sfc and future windows updates, and HLPs would still work when opened by association (double-click in explorer, or start old.hlp at the cmd prompt).Paba
Steps 6 and 7 are needed when the help file is opened by the intergrated help of a software.Nuclide
So I extracted the winhlp32.exe from the amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_1a54d9f2f676f6c2 folder within the Windows8.1-KB917607-x64.msu archive and as per @Paba instructions tried to execute it from a dedicated directory, however I only receive a (9009) when I open the .exe or double click a .hlp file on my x64 Windows 10 machine. I did not do any of the system file replacements.Graduate
@Graduate The .exe file is not enough, you need the other .dll and .mui files from the package as well. This is consistent with the error 9009 you are seeing, which means file not found.Paba
@Paba The .mui and .dll files are in the same directory as the winhlp32.exe, but as mentioned I didn't do any of the system file replacements. I was hoping this would be enough to execute the program.Graduate
@Graduate The .mui files go into a subdirectory named for the locale e.g. en-us in my case. That suffices to run the exe, as verified under Win7 and Win10. To open helpfiles by association you'll also need to associate .hlp files with that instance of winHlp32.Paba
@Paba Yep, that was the missing piece of the puzzle, putting the .mui files in a sub folder with the locale!Graduate
C
3

You can convert HLP to HTML, using a Chrome extension: << CHM, HLP Viewer and Extractor >> Proposed by : https://ehubsoft.herokuapp.com/chmviewer

Cavernous answered 22/8, 2020 at 23:26 Comment(3)
I don't understand what the "chrome extension" part of the answser applies to, but the URL is a dead easy drag-n-drop HLP & CHM converter to RTF and HTML. Formatting is not perfect but it's good enough for reserructing lost info.Ventose
Setting window.gadb=false in the web inspector console gets around the anti-adblocker on that page.Lawry
Dropped a .hlp file there and it workedEuropa
A
1

You are a hero sir! I ended up using HelpScribble and using its Decompiler linked here.

Quoting their website:

If you have an existing WinHelp file without the HPJ and RTF source files, you can download the WinHelp decompiler to recreate the HPJ and RTF sources from the HLP file. Extract the files inside helpdc21.zip into a new folder. Then you can easily decompile any .hlp file from the command prompt, by typing: helpdeco helpfile.hlp where helpfile.hlp is the help file you want to decompile. The decompiler will generate the HPJ and RTF files, along with a series of bitmap files if the help file contains images. Use Project|Import Help Project in HelpScribble to import the help file.

That will extract the source files for the hlp file.

Lastly, simply import the resulting hpj file in HelpScribble. From there you can simply export to a html file with the option Make Flat Manual.

Boom. Done.

Alice answered 14/11, 2020 at 11:10 Comment(2)
Who is the "hero" you are referring to? Was this meant as a Comment to another user's post?Ascidian
Thanks, it worked, it decompiled a rtf file from the .hlp fileEuropa
F
-1

Well people, after a long time searching, my conclusion was: .HLP files can't be executed by Windows 8 and 10, just in Windows 7 and lower. .CHM files can be executed by Windows 8 and windows 10. SO, I had to create my new .chm file in Help Development Studio on Windows 10 to be executed by it. My old files .HLP became obsolete. It took so much time to do this but I learned so much about this type of files. Finally, thank you for your contribution to my question.

Fracture answered 10/9, 2019 at 14:44 Comment(2)
More than two years ago, I had already recommended above "Converting WinHelp (HLP) to HTMLHelp (CHM)" and "Microsoft strongly advise you move away from WinHelp about ten years ago". And for special test cases there were additional hints for the use under Windows10. So I don't understand why your comment is the answer now. I think it's really a comment.Cashandcarry
It was the only way to solve the problem. I do not have any permission to edit these files with command prompt, my company doesn't allow it. So, I made this solution to this particular problem.Fracture

© 2022 - 2024 — McMap. All rights reserved.