How to convert HLP files into CHM files

2019-01-18 14:48发布

问题:

I need some help , I have some files .hlp and I want to convert it in .chm files because these files don't run on windows 10.

For your help Thank you!

回答1:

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:

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.

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

  3. 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

  4. 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 x86*de-*.”

    cd cab-extracted

  5. 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
    
  6. 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
    
  7. 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.