A long time back, most of the software used to ship with .hlp (WinHelp help format) help files. Since Windows Vista, the legacy .hlp format has been deprecated. To view 32-bit Help files with the .hlp file extension in Windows Vista (and higher — through Windows 8.1), you will need to download and install WinHlp32.exe (
KB917607 package) from the Microsoft Download Center.
- WinHlp32.exe for Windows 8.1 x86 (KB917607)
- WinHlp32.exe for Windows 8.1 x64 (KB917607)
- WinHlp32.exe for Windows 8 (KB917607)
- WinHlp32.exe for Windows 7 (KB917607)
However, this update isn’t available for Windows 10/11. Installing one of the KB917607 installers on Windows 10 or 11 would cause the following error:
Windows Update Standalone Installer The update is not applicable to your computer.
This article tells you how to restore the missing WinHelp (.hlp) viewer on Windows 10 or 11.
Get Winhlp32.exe (.hlp) functionality in Windows 10 or 11
There are situations where you need the .hlp functionality even today. For example, I needed to refer to WinDiff.hlp manual to know the command-line switches supported. Note that WinDiff is still being used today by many users. By default, Windows 10/11 have the file Winhlp32.exe in the Windows directory, but it’s only a 12 KB dummy or placeholder file that doesn’t do anything when run.
To get the .hlp viewing functionality in Windows 10/11, you need to extract the required files from the KB917607 package.
- Download the KB917607 update (meant for Windows 8 or 8.1) from the Microsoft Download Center to your Windows 10 or 11 computer.
(In this illustration, I have used the Windows 8 x64 installer. Since I’m using Windows 64-bit, I downloaded the x64 installer file Windows8-RT-KB917607-x64.msu)
Update: I’ve later found that both Winhlp32.exe (in x64 and x86 folders) files in Windows8-RT-KB917607-x64.cab are exactly the same. It’s a 32-bit executable only — SHA1 hash for both files is
- Use 7-Zip or any other archiver to open
- Extract the file
Windows8-RT-KB917607-x64.cabto your desktop.
- Open a Command Prompt window, and type these two commands one by one, and press Enter after each command:
md d:\test expand "%USERPROFILE%\Desktop\Windows8-RT-KB917607-x64.cab" -F:* d:\test(In the above example, I’m creating a temporary folder on the D:\ drive, and then I’m extracting the contents of the .cab file. If the drive letter is different in your system, change it accordingly.)
- Now, copy these four files to your desktop:
D:\test\amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.2.9200.16420_none_820c960392fdf7ed\winhlp32.exe D:\test\amd64_microsoft-windows-winhstb_31bf3856ad364e35_6.2.9200.16420_none_820c960392fdf7ed\ftsrch.dll D:\test\amd64_microsoft-windows-winhstb.resources_31bf3856ad364e35_6.2.9200.16420_en-us_2b615f4ab77535c0\winhlp32.exe.mui D:\test\amd64_microsoft-windows-winhstb.resources_31bf3856ad364e35_6.2.9200.16420_en-us_2b615f4ab77535c0\ftsrch.dll.mui(As I’m using Windows x64 version, I’ve copied the x64 version of Winhlp32.exe denoted by the letters “
amd64” in the folder name. The .mui file (Multilingual User Interface) are resource files that allow you to change your Windows interface to display different languages.Because I’m using the English version of Windows, I picked up the “
en-US” version of the .mui file from the
D:\Testfolder. In case you have an Italian language version of Windows, you’d need the
Tip: Alternatively, you can search for
D:\Testfolder and easily pick the two files from search results. Similarly, search for
ftsrch.dll.mui(en-us version) and copy them.
Now, you have the four files
ftsrch.dll.mui on your desktop. Follow one of the methods under Step 2 below.
This method replaces the factory default copy of Winhlp32.exe with the legacy (Windows 8) version of the file.
An advantage of this method is that the contextual help (F1) works perfectly in your old applications. The disadvantage is that the procedure needs to be carried out after installing every Windows 10 or 11 Feature Update. The procedure needs to be repeated also when Windows File Protection replaces the file with the original copy automatically, or when the user runs the
Sfc.exe command to fix corrupted files.
You have the files
ftsrch.dll.mui on your desktop. Follow these steps to copy them to the Windows folder.
- Run Command Prompt under TrustedInstaller rights. Let’s say you’re using the AdvancedRun tool as specified in the linked article.
- In the Command Prompt window, run these commands:
cd /d C:\Windows\ ren Winhlp32.exe Winhlp32_old.exe copy C:\users\Ramesh\desktop\Winhlp32.exe copy C:\users\Ramesh\desktop\ftsrch.dll cd C:\Windows\en-us ren Winhlp32.exe.mui Winhlp32_old.exe.mui copy C:\users\Ramesh\desktop\Winhlp32.exe.mui copy C:\users\Ramesh\desktop\ftsrch.dll.mui exit
Note: Replace the desktop folder path accordingly in the command-line. Don’t use environment variables like
%userprofile%because the Command Prompt window is currently running under TrustedInstaller privileges.
That’s it. We’ve replaced the default Winhlp32.exe with the Windows 8 version of the file.
You should be able to open .hlp files by double-clicking on them or by pressing F1 (contextual help) from the respective application.If the user gives focus to a button, object, or a field for which custom help has been defined in that application, and then presses F1, the custom Help for that object is displayed. If no help is defined for that object, then it opens the most relevant page in the .hlp file, so that the user doesn’t have to read the entire help documentation. This is called context-sensitive help.
The full-text search feature (“Find” tab in the “Find Topics” dialog) will work as well.
This method doesn’t replace the original Winhlp32.exe. Instead, we copy the older version of the file in a different name and then associate .hlp files with it.
The advantage of this method is that you don’t need to re-do the procedure after installing every Windows 10 Feature Update. A disadvantage is that you can’t use the F1 key in your applications to open the contextual help. It’s because your application won’t be able to find the renamed copy of Winhlp32.exe. Double-clicking on .hlp files will open the file, though.
- Rename them to
- Move the file
en-USis for English language OS. Likewise, for Italian language OS, you’d copy the .mui file to
C:\windows\en-IT, and so forth. To view the complete list of Locale IDs or LCIDs, visit the LCID (Locale ID) | Microsoft Docs webpage)
Note: As Windows 10 and 11 already contain the Winhlp32.exe and Winhlp32.exe.mui placeholder files, we don’t want to delete or rename the factory default versions to replace them with the legacy copies.
Some users tend to take ownership of the original Winhlp32.exe file and delete it before replacing it with the legacy copy. Doing so might cause the Windows File Protection to restore the originals at a later stage automatically.
Here is a sample System File Checker (
Sfc.exe) CBS log showing that the Windows File Protection has restored the factory-default versions of the files from the component store (
Info CSI 00005d95 [SR] Repairing corrupted file [l:20 ml:21]"\??\C:\WINDOWS\en-US"\[l:16]"winhlp32.exe.mui" from store Info CSI 00005dd4 [SR] Repairing corrupted file [l:14 ml:15]"\??\C:\WINDOWS"\[l:12]"winhlp32.exe" from store
So, we need to avoid deleting or renaming the factory default version of Winhlp32.exe and the corresponding .mui file. That’s why we changed the file names by suffixing
_legacyin Step 6 above.
Search feature in .hlp files
- If you need the full-text search feature (“Find” tab) in .hlp files, copy these two files as well:
ftsrch.dll(copy it to C:\Windows)
ftsrch.dll.mui(copy it to C:\Windows\en-us)
ftsrch.dllis the Microsoft Full-Text Search module. If the “Find” tab is missing when you open a .hlp file, it means that
ftsrch.dllis missing in the computer.
If you receive the “Unable to display the Find tab. (177)” error, you can fix the issue by deleting .FTS, .GID, and .CNT files in the
%SYSTEMROOT%\Helpdirectory. The .GID and .CNT files may be found in the same directory as the .hlp file.
The next step is to associate WinHelp .hlp files with
Winhlp32_legacy.exe. Follow these steps:
- Locate a .hlp file on your computer, right-click on the file and choose Properties.
- Click on the Change button.
- Click More apps
- Click Look for another app on this PC.
C:\Windows\Winhlp32_legacy.exein the browse dialog and select it.
You’ve now associated .hlp files with the legacy (Windows 8) version of Winhlp32.exe. Double-click a .hlp file to test.
Why was WinHlp32 discontinued by Microsoft?
Around March 2006, the Microsoft Help team announced that WinHelp would be deprecated (phased out). Ted Dworkin (Director of Windows Support Experience) said this:
“WinHelp does not meet the code standards established for Vista. These standards include security, reliability, and performance. WinHelp is architected in such a way that we would have to rewrite it from the ground up to meet the Vista code standards. And that approach doesn’t make sense given that we have two other Help systems in Vista.”
Microsoft recommends that software developers discontinue using the Windows Help application and transition their Help experience to an alternative Help file format, such as CHM, HTML, or XML.
(Last updated on July 26, 2022)
One small request: If you liked this post, please share this?One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
- Pin it!
- Share it to your favorite blog + Facebook, Reddit
- Tweet it!