Windows 10: .hlp Hilfedateien lassen sich nicht öffnen

Benutzer von Windows 10 laufen bei Verwendung älterer Programme in das Problem, dass deren Hilfedateien im .hlp-Format nicht mehr geöffnet werden können. Hier einige Informationen zu diesem Themenkomplex.


Anzeige

Auf das Problem bin ich erneut in diesem MS Answers-Forenthread aufmerksam geworden. Da es erfahrungsgemäß einige Nutzer trifft, eine etwas breitere Erklärung.

Das Problem mit den .hlp-Dateien

Microsoft unterstützt das Hilfeformat (.hlp) seit Windows Vista nicht mehr. Hintergrund ist der Umstand, dass dieses Format bzw. dessen Anzeige eine wandelnde Sicherheitslücke darstellt (siehe Linkliste).

Ab Windows Vista bietet Microsoft daher das Hilfsprogramm WinHelp32.exe mitsamt einem Installer zum Downloads an. Hier die Download-Adressen:

WinHlp32.exe für Windows Vista
WinHlp32.exe für Windows Windows 7
WinHlp32.exe für Windows Windows 8
WinHlp32.exe für Windows Windows 8.1

Wenn man sich dieses Installer-Paket herunterlädt und installiert, wird für die Windows-Version angepasste WinHelp32.exe installiert und die Anzeige von Hilfedateien klappt wieder.

Aber unter dem Strich gilt: Der Support für .HLP-Dateien ist seit Windows Vista beendet. Mit Windows 8.1 gab es bereits das Problem, dass ein Update im Winter 2014 die Installerlösung zum Nachrüsten von WinHelp32.exe zunichte machte. Es dauerte elendig lange, bis Microsoft einen Fix herausbrachte, so dass die Hilfedateianzeige in Windows 8.1 wieder funktionierte. Die Story habe ich im Blog dokumentiert (siehe Linkliste am Artikelende).

Das Problem mit Windows 10 und den .hlp-Dateien

Windows 10-Nutzer haben schlicht das Problem, dass Microsoft kein Installerpaket für WinHelp32.exe bereitstellt. Hintergrund dürfte, neben dem Sicherheitsaspekt, sein, dass dieses Installerpaket bei jedem Patchday oder zumindest bei jedem Major Update (Version 1511, 1607 etc.) überarbeitet werden muss. Das will Microsoft sich nicht ans Bein binden.

Welche Lösungen gibt es?

Benötigt eine alte Anwendung noch die Anzeige von .hlp-Dateien ist die eleganteste Lösung, eine virtuelle Maschine mit Virtualbox, Hyper-V oder VMware Workstation zu verwenden. Dort wird Windows 7 SP1 sowie die alte Anwendung eingerichtet und dann die  für die Windows-Version angepasste WinHelp32.exe installiert.


Anzeige

Es gibt eine Ausweichlösung, von der ich aber abrate. Dort wird die WinHelp32.exe aus Windows XP kopiert. Diese wird auch hier für ein 32-Bit-Windows 10 propagiert. Der verlinkte Download (auch hier) auf die WinHlp32.exe-Download-Seite von Komeil Bahmanpour ist tot (siehe auch diesen Forenbeitrag). Neben der lizenzrechtlichen Problematik wird bei deskmodder auch auf das Sicherheitsproblem hingewiesen.

Für Windows 8.1 war einige Zeit eine "Umgehungslösung" für Windows8.1-KB917607-x64.msu hoch im Kurs. Das verlinkte Paket ließ sich zwar installieren, aber  WinHelp32.exe funktionierte nicht. Jemand hat sich die Mühe gemacht, das Installerpaket zu entpacken und dann eine Umgehungslösung per Batchprogramm bereitzustellen, die funktionierte.

Im Blog-Beitrag Using HLP files in Windows 10 von September 2015 greift jemand diesen Ansatz auf und beschreibt, wie man unter Windows 10 vorgeht. Der Ansatz ist auch hier beschrieben. Auch bei MS Answers gibt es einen Thread dazu.

Der Pferdefuß an allen diesen Ansätzen – mit Ausnahme meiner skizzierten Virtualisierungslösung ist aber, dass die oben skizzierten "Hacks" genau bis zum nächsten Major Update (Version 1511, 1607) halten. Möglicherweise hilft der Help Explorer Viewer aus der Patche (achtet beim CNET-Download darauf, dass keine Adware beigefügt wird).

Vielleicht hilft es den wenigen Betroffenen noch weiter. Unter dem Strich gilt aber: Verabschiedet euch von den alten Programmen samt .HLP-Dateien oder bleibt bei Windows 7 SP1.

Es funktioniert unter Windows 10 noch

Ergänzung: Ich habe gerade unter Windows 10 Creators Update die Hilfslösung (WinHelp32 aus Windows 7 installieren) probiert. Einfach die Cab-Datei von hier (gelöscht) herunterladen und in einen lokalen Ordner entpacken. Dann in der Install.cmd im Settings-Abschnitt folgende Zeilen hinzufügen:

set WindowsVersion=7
goto :BypassVersionError

Wenn man die Install.cmd über Als Administrator ausführen startet, wird die WinHelp32.exe sauber installiert und funktioniert.

Ergänzung 2: Leider wurde die Download-Seite für die Datei gelöscht, so dass die Lösung nicht mehr verwendbar ist. Ihr könnt die Hinweise in diesem Beitrag probieren, ob die weiter führen.

Ähnliche Artikel:
WinHlp32: Fix für KB917607-Problem veröffentlicht
Abhilfe für KB917607 (WinHlp32-Bug) in Sicht
Windows 8.1: WinHelp32.exe Patch funktioniert nach Dezember Patchday nicht mehr
Windows 8.1: Alte Windows-Hilfedateien anzeigen
Windows 8: Alte hlp-Dateien anzeigen


Cookies blockieren entzieht uns die Finanzierung: Cookie-Einstellungen

Dieser Beitrag wurde unter Problemlösung, Windows 10 abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

24 Antworten zu Windows 10: .hlp Hilfedateien lassen sich nicht öffnen

  1. Peter Mittelstrass sagt:

    Hallo Herr Born,
    das ist ja alles schön und gut. Meistens sind es ältere Hilfs- oder Produktionsprogramme, die irgendwann mal für Windows NT, 2000 oder XP geschrieben wurden, deren .HLP-Files man bis Windows 7 /8.x mit ein wenig Patchen anzeigen konnte. Nachdem der XP-Mode beerdigt wurde, laufen viele dieser Programme unter W10 aber immer noch problemlos, bloß die Hilfe tut nicht mehr!
    Und viele ältere Programme werden trotz weiterer-Funktionierens nicht mehr weiterentwickelt.
    Dabei hätte Microsoft der breiten Userbasis nur einen Converter oder sicheren Viewer liefern können, um auf eine neuere HLP-Version umzustellen.
    Mit OfficeDokumenten hat es doch auch geklappt, ein neues Datenformat einzuführen.

  2. Konrad sagt:

    "Einfach die Cab-Datei von hier herunterladen und in einen lokalen Ordner entpacken. Dann in der Install.cmd im Settings-Abschnitt folgende Zeilen hinzufügen: . . ."

    Leider finde ich "hier" keine Cab-Datei zum Download, Nur eine MSU-Datei, in der zwar zwei Cab-Dateien stecken, in denen dann aber auch keine Install.cmd zu finden ist.

    Bin ich blind oder was ist sonst mein Fehler?

    • Günter Born sagt:

      Ich denke, der letzte Satz trifft zu. Gerade noch erneut den Link probiert, die winhlp32-windows-7-x86-x64-komei.cab-Datei von der Komeil-Seite geladen, diese entpackt und dann waren die genannten Dateien vorhanden.

      Dass der Ansatz funktioniert, habe ich vor 14 Tagen in einem Buchprojekt an der Windows 10 Version 1703 verifiziert.

  3. Konrad sagt:

    Hallo Her Born,

    ja ich war blind. Danke für Ihre Infos. Mal sehen ob es klappt.

    Mit freundlichem Gruß,
    Konrad

  4. Kirsten sagt:

    Vielen Dank für den nützlichen Tipp. Es hat alles in allem tadellos funktioniert, meine HLP Dateien funzen wieder :-D

  5. Müller Volker sagt:

    Hallo Herr Born,
    ich öffne Install.cmd dann öffnet sich eine schwarze Datei mit
    Windows Help programm
    XXX
    XXX
    XX
    Drücken Sie eine beliebige Taste..
    Wenn ich "set WindowsVersion=7" eingeben möchte schließt sich die Datei.
    Was mach ich falsch
    Gruß Volker M

  6. Thomas sagt:

    Hallo,

    die Nachinstallation über die .cab Datei funktioniert wunderbar.
    Allerdings funktioniert dann innerhalb der Hilfe die Suchfunktion nicht.
    Gibt es dafür auch noch einen Workaround oder muss man hierauf dann einfach unter Windows 10 verzichten?

    Vielen Dank.

    MfG

    Thomas

  7. Sylvia sagt:

    Lieber Herr Born,
    habe alles durchgeführt wie beschrieben. Nachdem ich in der Install.cmd im Settings-Abschnitt die Zeilen
    set WindowsVersion=7
    goto :BypassVersionError
    hinzugefügt hatte, funktionierte es zunächst nicht. Erst als ich diese beiden Zeilen an den Anfang des Abschnitts gepackt hatte, wurde die winhlp.exe installiert. Allerdings funktioniert die Hilfefunktion immer noch nicht. Hat sich seit Mai 2017 was geändert?Mache ich was falsch? Hätte ich die beiden Zeilen vielleicht nicht hinzufügen sondern im Settings-Abschnitt die vorhandenen Inhalte überschreiben sollen?

    Für Hilfe wäre ich sehr dankbar!
    Viele Grüße, Sylvia

    • Günter Born sagt:

      Hab das ewig nicht mehr getestet und mir fehlt die Zeit und die Motivation, noch einen Test zu machen, speziell, da Windows 10 eine ewige Baustelle ist.

      Ok, Korrektur – hat mich interessiert. Das Problem: In der neuesten Windows 10 Fall Creators Update-Version fehlt der Ordner en-US im Windows-Verzeichnis. Daher läuft die Batchdatei in den Wald.

      Ich habe den Ordner manuell angelegt und die cmd-Datei ausgeführt. Es gibt zwar dann einen Fehler in der Batchdatei, weil die winhlp.exe.mui im leeren Ordner nicht gefunden und der Eigentümer nicht gesetzt werden kann. Aber die cmd-Datei kopiert die Dateien. Anschließend fand sich die winhlp.exe.mui im neuen Ordner und die Anzeige von .hlp-Dateien funktionierte.

      • Sylvia sagt:

        Schade, trotzdem danke für die Antwort

      • Sylvia sagt:

        Lieben Dank!!!! Das werde ich nächstes Wochenende ausprobieren und berichten, ob ich die Batchdatei aus dem Wald locken konnte. Bis dahin viele Grüße aus Berlin

      • Sylvia sagt:

        Lieber Herr Born,
        schade, funktioniert irgendwie nicht. Den leeren Ordner en-US gab es schon im Windows-Verzeichnis. Die cmd-Datei kopiert 45 Dateien. Die winhlp.exe.mui kommt aber im Ordner en-US leider nicht an. Die Batchdatei meckert gleich am Anfang: Terminating all possible running instances of WinHlp32…
        FEHLER: Ungültige Syntax. Erwarteter Wert für "/im"
        Geben Sie "TASKKILL /?" ein, um die Syntax anzuzeigen.
        Blöde Frage: wie und wo und was soll ich tun? Den Befehl als Administrator ausführen?
        Und des Weiteren zu en-US: Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
        0 Dateien erfolgreich verarbeitet, bei 1 Dateien ist ein Verarbeitungsfehler aufgetreten.
        Noch 'ne blödere Frage: Der Datenträger auf meinem Rechner heißt OS (C:) – kann das der Grund sein?
        Ratlose Sonntagsgrüße, Sylvia

        • Günter Born sagt:

          Das Script muss auf jeden Fall über 'Als Administrator ausführen' aufgerufen werden. Vorher zur Sicherheit einen Neustart ausführen, um laufende WinHelp-Instanzen zu beenden.

          Bei meinem Kurztest auf Windows 10 Fall Creators Update hatte ich zuerst auch Syntax-Fehler, weil der Ordner en-US nicht vorhanden war. Hatte dann versuchsweise im BAT-Programm den Pfad von en-us auf de-de geändert. War aber nicht so gut.

          Habe mir dann den Ordner mit en-us selbst angelegt, das ursprüngliche Batch-Programm mit den oben angegebenen Modifikationen (Windows 7-Kompatibilität) erneut aufgesetzt und mit administrativen Berechtigungen ausführen lassen. Es gab dann nur noch einen Fehler, dass die MUI-Datei in en-us nicht gefunden werden kann (logisch, ich hatte ein leeres Verzeichnis angezeigt). Danach war die mui-Datei im Ordner zu finden und die HLP-Datei, die ich zum Testen in die virtuelle Maschine mit Win10 kopiert habe, wurde problemlos geöffnet. Mehr kann ich dazu nicht sagen – ist ja schon wieder ein paar Tage her, dass ich das kurz angetestet habe. Die Volumenbezeichnung spielt für das Batch-Programm keine Rolle.

          • Edgar sagt:

            Hallo, ich habe das mit der Cab-Datei von der Seite von dem Komeil Bahmanpour wie beschrieben gemacht (in ein Verzeichnis entpackt). Die Install.cmd entsprechend editiert (die zwei Zeilen hinter den beiden vorhandenen Zeilen im Settings-Abschnitt einkopiert).
            Dann die Install.cmd per rechte Maustaste "Als Administrator ausgeführt".
            Hat alles super funktioniert! Bin begeistert!
            Mein OS: Windows 10 Version 1709.

  8. Frank Schäfers sagt:

    Danke für den Tip. Hat alles genauso funktioniert wie beschrieben. Wie bereits angemerk fehlt nur die Suchfunktion. Aber darauf kann ich zumindest verzichten.
    Ich bin immer wieder erfreut das es noch Leute gibt die nicht nur meckern sondern konkrete Tipps liefern können. Weiter so!!
    m.f.g.
    Frank

  9. Udo G. sagt:

    Vielen Dank für die Tipp's hat funktioniert und die Hilfe für mein Programm C-Control/plus funktioniert wieder.
    Viele Grüße
    Udo

  10. Fritz sagt:

    Zitat: "Ergänzung: Ich habe gerade unter Windows 10 Creators Update die Hilfslösung (WinHelp32 aus Windows 7 installieren) probiert. Einfach die Cab-Datei von hier herunterladen"

    Ähm, von wo bitte? Da denkt man, man bekommt Hilfe. Pustekuchen…

    • Günter Born sagt:

      Der Artikel ist von August 2016 – bei Windows 10 sind das 'Äonen'. Die Erklärung, warum das "von hier" nicht mehr als Link weiter führt: 'Das ist das Wunder Internet, wo Links schlicht brechen, weil es die Webseiten nicht mehr gibt'. Der Link ist irgendwann gebrochen – und wenn ich pro Tag 10 bis 20 dieser gebrochenen Links im Blog angezeigt bekomme, lasse ich die löschen – und manchmal treibe ich nicht den Aufwand '(entfernt)' in den Text einfügen zu lassen.

      Ich habe den Kommentar aber zum Anlass genommen, eine zweite Ergänzung mit einem entsprechenden Hinweis zu posten. Von daher danke für den Hinweis.

      Ansonsten Kopfschütteln über den Kommentar. Wer den Blog-Beitrag und die Kommentare durchgelesen hat, könnte möglicherweise auf die Idee kommen, dass da schlicht ein Link gebrochen ist oder die Lösung nicht mehr funktioniert. Und wegen Pustekuchen: Im Text gab es eine Hilfe: VM mit Win 7.

  11. Karo sagt:

    Ich hatte mich gewundert, warum die "Hilfe" wieder nicht ging (vermutlich wg. dem oben beschriebenen Punkt Neuinstallation nach WinUpdate) und habe dabei diese Seite gefunden. Da viele die veränderte Datei
    Install.cmd
    suchen -> der Inhalt:

    @echo off

    :: —————————————————————————
    :: Settings

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

    :: —————————————————————————
    :: Displaying installer information

    echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
    echo ³ Windows Help program (WinHlp32) installer for Windows 7 ³
    echo ³ Revision 2 ³
    echo ³ June 14, 2009 ³
    echo ³ Copyright (c) 2009 Chortkeh. All rights reserved. ³
    echo ³ Command-line scripting by Komeil Bahmanpour. ³
    echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
    echo.

    :: —————————————————————————
    :: Windows version detection

    echo Setup is detecting Windows version…
    ver | findstr /il "6\.1\." > nul
    if %errorlevel% equ 0 (
    echo Microsoft Windows 7 [Version 6.1] detected.
    set WindowsVersion=7
    goto :BypassVersionError
    )
    ver | findstr /il "6\.0\." > nul
    if %errorlevel% equ 0 (
    echo Microsoft Windows Vista / Server 2008 [Version 6.0] detected.
    set WindowsVersion=6
    goto :BypassVersionError
    )
    ver | findstr /il "5\.2\." > nul
    if %errorlevel% equ 0 (
    echo Microsoft Windows Server 2003 [Version 5.2] detected.
    set WindowsVersion=5
    goto :BypassVersionError
    )
    ver | findstr /il "5\.1\." > nul
    if %errorlevel% equ 0 (
    echo Microsoft Windows XP [Version 5.1] detected.
    set WindowsVersion=5
    goto :BypassVersionError
    )
    ver | findstr /il "5\.0" > nul
    if %errorlevel% equ 0 (
    echo Microsoft Windows 2000 [Version 5.0] detected.
    set WindowsVersion=5
    goto :BypassVersionError
    )
    echo Inappropriate Windows version. Setup must be run under one of the following
    echo operating systems:
    echo.
    echo * Microsoft Windows 7
    echo * Microsoft Windows Server 2008
    echo * Microsoft Windows Vista
    echo * Microsoft Windows Server 2003
    echo * Microsoft Windows XP
    echo * Microsoft Windows Server 2000
    echo
    pause
    goto :eof
    :: Mandatory for older Windows versions incapable of understanding EOF,
    :: eventhough they don't take CMD files as BAT.
    exit

    :: —————————————————————————
    :: Initialization

    :BypassVersionError
    if not %WindowsVersion%==7 (
    echo Inappropriate Windows version. Setup must be run under one of the following
    echo operating systems:
    echo.
    echo * Microsoft Windows 7
    echo
    pause
    goto :eof
    )

    :: Preserve current directory for further referrings.
    set InitialDirectory=%cd%
    :: Change drive and path to where the batch file was started from. This is
    :: required when your batch file is run-as-administrator, because it sets
    :: System32 the working (current) directory.
    cd /d "%0\.."

    :: —————————————————————————
    :: Windows 7 installation

    :InstallFor7
    echo.
    echo Terminating all possible running instances of WinHlp32…
    taskkill /f /im %ExeFileName% /t
    :: No error checking is required, becasue if it's not opened so far, an error will occur.
    echo.

    echo Taking the ownership of system's existing %MuiFileName%…
    takeown /f "%SystemRoot%\en-US\%MuiFileName%"
    echo.
    echo Granting %UserName% full-access permission to system's existing %MuiFileName%…
    icacls "%SystemRoot%\en-US\%MuiFileName%" /grant "%UserName%":F
    echo.
    echo Copying %MuiFileName% to system…
    xcopy /r /y /h /q %MuiFileName% "%SystemRoot%\en-US"
    echo.
    if errorlevel 1 goto :Error

    echo Taking the ownership of system's existing %ExeFileName%…
    takeown /f "%SystemRoot%\%ExeFileName%"
    echo.
    echo Granting %UserName% full-access permission to system's existing %ExeFileName%…
    icacls "%SystemRoot%\%ExeFileName%" /grant "%UserName%":F
    echo.
    echo Copying %ExeFileName% to system…
    xcopy /r /y /h /q %ExeFileName% "%SystemRoot%"
    echo.
    if errorlevel 1 goto :Error

    echo Updating Registry entries…
    reg add "HKLM\SOFTWARE\Microsoft\WinHelp" /v "AllowProgrammaticMacros" /t REG_DWORD /d "0x00000001" /f
    reg add "HKLM\SOFTWARE\Microsoft\WinHelp" /v "AllowIntranetAccess" /t REG_DWORD /d "0x00000001" /f
    if %PROCESSOR_ARCHITECTURE%==AMD64 (
    reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\WinHelp" /v "AllowProgrammaticMacros" /t REG_DWORD /d "0x00000001" /f
    reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\WinHelp" /v "AllowIntranetAccess" /t REG_DWORD /d "0x00000001" /f
    )
    echo.
    if errorlevel 1 goto :Error

    pause
    goto :eof

    :: —————————————————————————
    :: Error management

    :Error
    echo Error installing WinHlp32
    echo.
    echo Setup will now exit.
    echo
    pause
    goto :eof

  12. Leser sagt:

    https://windowsunited.de/anleitung-so-oeffnet-ihr-hlp-dateien-in-windows-10/

    Hallo!
    Hier unter Lösung 7 gibt's einige DOS-Befehle, die man eingeben muss. Zugegeben: man muss sich etwas konzentrieren und ich musste in Zeile 12 de-us gegen de-DE ändern. Aber dann funktionierte die alte Windows Hilfe unter W10 wieder.
    Grüsse und Danke!

Schreibe einen Kommentar zu WhiteHat Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Bitte beachtet die Regeln zum Kommentieren im Blog (Erstkommentare und Verlinktes landet in der Moderation, gebe ich alle paar Stunden frei, SEO-Posts/SPAM lösche ich rigoros). Kommentare abseits des Themas bitte unter Diskussion.