12

Previously, in Windows 10, I was able to open .hlp files. Now, after I have upgraded to Windows 10 Anniversary Edition, I can no longer open .hlp files.

Can someone help me?

2
  • 2
    Exactly how do you try to open them? Exactly what happens when you do?
    – user
    Commented Aug 16, 2016 at 13:48
  • I for instance tried both, open help in an old IDE and open *.hlp files by double-clicking on them.
    – Wolf
    Commented Aug 20, 2022 at 16:51

3 Answers 3

3

In order to open .hlp files in windows 10, you must have a patched version of winhelp32.exe from windows XP in your c:\Windows folder.
If you could open .hlp's before, you must have had this file in your system.
Performing an upgrade would overwrite the c:\Windows folder, thus removing winhelp32.exe from your system.
Follow the directions at this link to inject winhelp32.exe into the proper location in Windows 10.
http://appuals.com/how-to-read-hlp-files-in-windows-10/

0
23

I found a solution that does not involve downloading any third-party utilities. Credit goes to Andreas Pollak for the original solution.

This answer assumes you are running a 64-bit US English version of Windows 10. You'll need to adjust the commands if you are using a 32-bit version or if you are in a different locale.

First, download Windows8.1-KB917607-x64.msu from KB917607.

Then, in an administrative command prompt, switch to the folder containing the download and run the following commands. (You may find it easiest to run them one at a time.)

md ContentMSU
expand Windows8.1-KB917607-x64.msu /F:* .\ContentMSU
cd ContentMSU
md ContentCAB
expand Windows8.1-KB917607-x64.cab /F:* .\ContentCAB
cd ContentCAB
cd amd64_microsoft-windows-winhstb.resources_31bf3856ad364e35_6.3.9600.20470_en-us_c3a9a33a1aee3495
takeown /f %systemroot%\en-us\winhlp32.exe.mui
icacls %systemroot%\en-us\winhlp32.exe.mui /grant "%UserName%":F
ren %systemroot%\en-us\winhlp32.exe.mui winhlp32.exe.mui.w10
copy winhlp32.exe.mui %systemroot%\en-us\winhlp32.exe.mui
cd ..
cd amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_1a54d9f2f676f6c2
takeown /f %systemroot%\winhlp32.exe
icacls %systemroot%\winhlp32.exe /grant "%UserName%":F
ren %SystemRoot%\winhlp32.exe winhlp32.exe.w10
copy winhlp32.exe %systemroot%\winhlp32.exe

After this you should be able to open .hlp files.

7
  • Thanks, this indeed worked but the Find tab was still missing; see my answer for the additional commands to bring that back as well. Commented Mar 9, 2019 at 20:36
  • The 'ren' and 'copy' commands fail for me with 'Access is denied'. I checked that I am running 'Administrator: Command Prompt'. I am running 'Windows 10 Pro version 1903'.
    – NZD
    Commented Oct 1, 2019 at 19:29
  • @NZD ensure you don't have the help viewer open Commented Oct 1, 2019 at 20:54
  • I can't have the help viewer open, because I don't have it ;-) That is what I am trying to install. I 'fixed' my problem by firing up WinXP in a VirtualBox.
    – NZD
    Commented Oct 2, 2019 at 21:43
  • @NZD I thought maybe somehow the existing %systemroot%\winhlp32.exe could have been running. For this type of scenario I would suggest using a tool like procexp to check for open handles on those files. Commented Oct 4, 2019 at 23:34
4

@HolisticDeveloper's answer indeed worked to bring back winhlp32.exe on Windows 10. However, the Find tab was still missing so it wasn't possible yet to perform a full-text search of the help file. I've found that the following additional commands (also in an administrative command prompt) bring that back as well:

cd ..
cd amd64_microsoft-windows-winhstb.resources_31bf3856ad364e35_6.3.9600.20470_en-us_c3a9a33a1aee3495
copy ftsrch.dll.mui %systemroot%\syswow64\en-us\ftsrch.dll.mui
cd ..
cd amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_1a54d9f2f676f6c2
copy ft*.dll %systemroot%\syswow64
9
  • I tried this but it didn't seem to work correctly. The Find tab appears and when I click on it I get the Find Setup Wizard dialog. However, once that completes I get the following error: "Unable to display the Find tab. (177)" Commented Oct 21, 2019 at 14:36
  • @HolisticDeveloper First of all my apologies for the late reply. Unfortunately all I can say is that it's working fine on my Windows 10 system (version 1903). May I suggest that you use Sysinternals' Process Monitor to check if any system DLLs are still missing? Have you tried with a different .hlp file? Commented Jan 9, 2020 at 21:26
  • 1
    @Holistic Developer In my experience, the “Unable to display the Find tab. (177)” error is fixed by deleting .FTS/.GID/.CNT files in the %LOCALAPPDATA%\Help directory. In earlier versions of Windows these were in the %SYSTEMROOT%\Help directory, so you may see the same advice elsewhere about this using that older path.
    – C Snover
    Commented Apr 21, 2020 at 2:46
  • 1
    @Wolf It's unfortunately too long ago for me to remember where I found that information. It's very well possible that I just found it out myself, probably by checking winhlp32.exe's behavior with Sysinternals Process Monitor. Commented Aug 21, 2022 at 15:07
  • BTW @TimDeBaets This is the indication I found in ...\ContentMSU\ContentCAB\x86_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_be363e6f3e19858c.manifest and ...\ContentMSU\ContentCAB\amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.3.9600.20470_none_1a54d9f2f676f6c2.manifest respectively: Line 29: <file name="ftsrch.dll" destinationPath="$(runtime.system32)\" [...] Line 39: <file name="winhlp32.exe" destinationPath="$(runtime.windows)\" [...] But I didn't find a reference for the symbolic runtine.* constants.
    – Wolf
    Commented Aug 22, 2022 at 11:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .