Abrindo arquivos HLP no Windows 10

Desde o Windows 7, a Microsoft não distribui mais o WinHelp (WinHlp32.exe), responsável por abrir os antigos arquivos de ajuda (help).

Para quem ainda usa programas antigos/desatualizados, ou desenvolve software usando componentes antigos que não tiverem o arquivo de ajuda migrados para o novo formato, isso acaba gerando um grande problema.

Até a versão 8.1 do Windows, a Microsoft estava criando instaladores do WinHelp, que podiam ser baixados e instalados manualmente através do link https://support.microsoft.com/pt-br/kb/917607. No entanto, até o momento (Nov/2015), não há uma versão disponível para o Windows 10.

Vasculhando a internet, encontrei um link onde mencionavam uma alternativa (gambiarra) para conseguir instalar o WinHelp no Windows 10 e, portanto, abrir os arquivos .hlp. Basicamente, oque deve ser feito é:

  1. Baixe o arquivo disponível em http://www.komeil.com/download/1230
  2. Descompacte (com o WinRar, etc) o conteúdo do arquivo baixo em uma pasta temporária qualquer.
  3. Entre os arquivos extraídos, está o install.cmd
  4. Edite o install.cmd no bloco de notas, e deixe o conteúdo da seção Settings como no exemplo abaixo (basicamente, insira as duas linhas que estão em negrito).
  5. Grave as alterações.
  6. Baixe o arquivo 7zip disponível em http://www.komeil.com/download/2968 e extraia os arquivos winhlp32.exe e winhlp32.exe.mui encontrados em “50.0.6001.18001 Windows Vista & Windows Server 2008 KB917607 updated functional” e substitua os originais gerados pelo passo 2 acima.
  7. Execute o Install.cmd como Administrador.

Fazendo isso, você conseguirá abrir os antigos arquivos de help, no Windows 10.

Os passos abaixo são necessários caso a opção de Busca (Find) do WinHelp não esteja funcionando devido a falta do arquivo ftsrch.dll:

  1. Entre em http://originaldll.com/file/ftsrch.dll/1047.html e baixe a DLL
  2. Se seu Windows for 64bits, grave-a na pasta c:\Windows\SysWow64, se for 32bits, grave-a na pasta c:\Windows\System32
  3. Note que parar gravar nessas pastas, você precisa ter permissões de Administrador.

Com isso, a opção de Busca deve passar a funcionar.

:: --------------------------------
:: Settings

set MuiFileName=winhlp32.exe.mui
set ExeFileName=winhlp32.exe
set WindowsVersion=7
goto :BypassVersionError