Skip to content

knuth-konrad/winhlp32-on-windows10

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

WinHlp32 and Windows 10

(Translated to English from the German version. All research has been done by Horst Schmidt, therefore thank him, not me. I simply translated it.)

Windows 10 includes only a stub WinHlp32.exe file, the size of a few kilobytes, which redirects to a Microsoft webpage. It links to several WinHlp32 installer, the most up to date being the one for Windows 8.1. Trying to use any of the installers listed there leads to a message that the installer can't be used for Windows 10.

For that reason, if you want/must use WinHlp on Windows 10, a manual installation is required. Below is a guide how to do this for a Windows 10 64 bit system. If you need to do this for a 32 bit system, use the files in the x86_microsoft-windows... folders instead of the amd64_microsoft-windows... folders described below.


Before we start, a word of warning, though: *.hlp files can call any API/exported method from any DLL. Thus they're able to e.g. download files from the internet or send any data over the internet, circumventing any security measures web browsers have implemented. Microsoft also doesn't fix any security holes in WinHlp32 any longer. All of this means that following the below procedure poses a security risk to the system you apply to. Please make sure you understand these risks before going on!


  • Log into your machine with an account that has administrative privilegues.

  • Download the file Windows8.1-KB917607-x64.msu (KB917607) to a folder of your choice, e.g. WinHlp. We use this and the following folder names as examples further on. If you name your folders differently, make sure to replace them in the below commands accordingly. Since this keeps resetting with every bianual Windows update, it is a good idea to store it in a permanent location.

  • Create a (temporary) subfolder in the folder you created above, e.g. expanded.

  • Open a command prompt and and navigate to the WinHlp folder. Expand the *.msu file with the command

    expand Windows8.1-KB917607-x64.msu -F:* expanded

    Here's what this command does: expand.exe is a builtin Windows tool, the paramater -F:* tells it to expand all files. The last parameter, expanded is the folder it should put the expanded files.

  • At the command prompt, change to the expanded folder. Create another folder, e.g. cab.

  • Similar to what we've already done, we also need to expand all the files from Windows8.1-KB917607-x64.cab:

    expand Windows8.1-KB917607-x64.cab -F:* cab
  • In order to be able to replace the stub WinHlp32.exe residing in the Windows folder, we first need to take over ownership of the file and then also grant access rights as Administrator:

    takeown /f "%WINDIR%\WinHlp32.exe" /a
    icacls "%WINDIR%\WinHlp32.exe" /grant *S-1-5-32-544:F

    *S-1-5-32-544 is the language independent SID user group Administrators.

  • Do the same for the language resources of WinHlp32.exe. That's the tricky part. i suggest doing this for your system's language and English. I'm on a German Windows 10, so that is:

    takeown /f "%WINDIR%\de-DE\WinHlp32.exe.mui" /a
    takeown /f "%WINDIR%\en-US\WinHlp32.exe.mui" /a
    takeown /f "%WINDIR%\System32\de-DE\ftsrch.dll.mui" /a
    icacls "%WINDIR%\de-DE\WinHlp32.exe.mui" /grant *S-1-5-32-544:F
    icacls "%WINDIR%\en-US\WinHlp32.exe.mui" /grant *S-1-5-32-544:F
    icacls "%WINDIR%\System32\de-DE\ftsrch.dll.mui" /grant *S-1-5-32-544:F

    (Copy the below line to execute all commands at once)

    takeown /f "%WINDIR%\de-DE\WinHlp32.exe.mui" /a & takeown /f "%WINDIR%\en-US\WinHlp32.exe.mui" /a & takeown /f "%WINDIR%\System32\de-DE\ftsrch.dll.mui" /a & icacls "%WINDIR%\de-DE\WinHlp32.exe.mui" /grant *S-1-5-32-544:F & icacls "%WINDIR%\en-US\WinHlp32.exe.mui" /grant *S-1-5-32-544:F & icacls "%WINDIR%\System32\de-DE\ftsrch.dll.mui" /grant *S-1-5-32-544:F

    You may receive an error message stating that a file doesn't exist. Don't worry - if it doesn't exist, this procedure is moot anyway.

  • Search for WinHlp32.exe in the folders within the folder cab. You'll find two copies of it in the "none" (see below) folders. For a 64 bit system the one in the amd64_microsoft-windows-... folder is the relevant one.

    Subfolders in cab

    Copy this file to the Windows directory.

  • Copy the DLLs in the same folder as WinHlp32.exe to the Windows\System32 directory.

  • Finally we need to copy the language resource files (*.mui) to their respective folders. These are located in the respective amd64_microsoft-windows-... language folder (see below).

    Location of *.mui files

    The relevant ones for my system are de-de and en-us. Copy each winhlp32.exe.mui to the respective folder in the Windows directory, e.g. winhlp32.exe.mui from the amd64_microsoft-windows-...de-de... folder goes to Windows\de-DE, winhlp32.exe.mui from amd64_microsoft-windows-...en-us... to Windows\en-US.

  • Do the same for the ftsrch.dll.mui files, but make sure to copy those to the language folders in Windows\System32, e.g. Windows\System32\de-DE.

That's it! You now should be able to open these old *.hlp files again.


Translated from this original German version.

About

How to install WinHlp32.exe on a Windows 10 system.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published