Frage

Früher war Hilfe nicht trivial, aber möglich:Generieren Sie eine ausgefallene RTF-Datei mit speziellen Tags, führen Sie sie durch einen Compiler und Sie erhalten eine WinHelp-Datei (.hlp), die tatsächlich wirklich gut funktioniert.

Dann entschied Microsoft, dass WinHelp nicht mehr angesagt und cool war und wechselte zu CHM, bis zu dem Punkt, an dem WinHelp tatsächlich aus Vista gestrichen wurde.

Nun, CHM ist vielleicht nett, aber jeder, der versucht hat, eine CHM-Datei im Netzwerk zu öffnen, kennt den netten Bildschirm „Navigation zur Webseite wurde abgebrochen“, der durch Sicherheitsbeschränkungen verursacht wird.

Zwar gibt es Möglichkeiten, CHM außerhalb des Netzwerks zum Laufen zu bringen, doch ist dies kaum eine gute Wahl, denn wenn ein Benutzer auf die Hilfe-Schaltfläche drückt, möchte er Hilfe und muss keine umständlichen Einstellungen vornehmen.

Endeffekt:Ich finde CHM absolut unbrauchbar.Aber da WinHelp auch keine Option mehr ist, frage ich mich, welche Alternativen es gibt, insbesondere wenn es um die Integration in meine Anwendung geht (d. h.Gibt es für WinHelp und CHM Funktionen, mit denen man direkt zu einem Thema springen kann)?

PDF hat den Nachteil, dass es den Adobe Reader erfordert (oder einen der einfacheren Reader, den nicht viele Leute verwenden).Ich könnte damit leben, da dies heutzutage eine Art Standard ist, aber können Sie ihm zuverlässig sagen, dass es zu einer bestimmten Seite/einem bestimmten Anker springen soll?

HTML-Dateien scheinen die beste Wahl zu sein, man muss sich dann nur mit verschiedenen Browsern auseinandersetzen (CSS und so).

Bearbeiten: Ich möchte meine eigenen Hilfedateien erstellen.Da ich ein Fan der „Kein Setup, einfach extrahieren und ausführen“-Philosophie bin, hatte ich dieses Problem in der Vergangenheit oft, weil viele meiner Benutzer es über das Netzwerk ausführen, was genau dieses Problem verursacht.

Deshalb suche ich nach einer robusteren und zukunftssichereren Möglichkeit, meinen Benutzern Hilfe bereitzustellen, ohne für jede von mir erstellte Anwendung ein anderes Hilfesystem programmieren zu müssen.

CHM ist ein wirklich schönes Format, aber dieser Sicherheitsaspekt macht es unbrauchbar, da ein Hilfesystem dem Benutzer Hilfe bieten und nicht noch mehr Probleme verursachen soll.

War es hilfreich?

Lösung

HTML wäre die nächstbeste Wahl, NUR WENN Sie sie von einem öffentlichen Webserver bereitstellen würden.Wenn Sie versuchen würden, es mit Ihrer App zu bündeln, würden alle Dateien (und Bilder (und Stylesheets (und ...)) CHM wie ein Geschenk der Götter aussehen lassen.

Allerdings habe ich festgestellt, dass die CHM-Dateien gut funktionieren, wenn sie tatsächlich im Installationspaket enthalten sind (anstatt über das Netzwerk bereitgestellt zu werden).

OTOH, eine weitere Gefahr bei CHM-Dateien:Auch wenn Sie versuchen, eine CHM-Datei auf einem zu öffnen lokal Wenn Sie die Datei zum ersten Mal von irgendwoher heruntergeladen haben, kann es sein, dass Sie auf die Sicherheitssperre stoßen, da die Datei beim Herunterladen als „von einer externen Quelle stammend“ gekennzeichnet sein könnte.

Andere Tipps

Ich mag die HTML-Option nicht und bin tatsächlich von einfachem HTML auf CHM umgestiegen, indem ich sie komprimiert und indiziert habe.Verwenden Sie sie sogar bei einer Handvoll Nicht-Windows-Kunden.Es hat einfach die ständigen kleinen Fehler behoben, die auftreten, wenn Leute es ins Netzwerk stellen (begrenzte Verschachtelungstiefe, seltsame Sperreffekte), Antivirenprogramme, die in Verzeichnissen mit 30.000 HTML-Dateien abstürzen, und 20 Minuten Dekomprimierungszeit bei der Installation auf einem älteren System, Browser-Sicherheitszonen usw Funktionen, Fehleinschätzungen des benötigten Platzes im Installationsprogramm usw.

Und dann schließe ich noch nicht einmal die Leute ein, die anfangen, sie zu „korrigieren“, Drittanbieterprodukte mit fehlerhaften „Integrationsversuchen“ usw., Beschwerden über Langsamkeit (Browserstart)

Wir alle hatten jahrelang darauf gewartet, dass die Probleme verschwinden würden, da sich Betriebssysteme und Hardware verbesserten, aber die Probleme traten immer wieder in einer verwirrenden Anzahl von Varianten auf, und genug war genug.Wir haben chmlib gefunden und entschieden, dass wir etwas darauf basierendes für immer als Escape-Programm mit einem einfachen externen Reader verwenden könnten, wenn die vom Betriebssystem bereitgestellten Lesegeräte nicht mehr funktionieren und umsteigen.

Mittlerweile verfügen wir auch über einen eigenen Compiler, sodass wir MS-frei und zukunftssicher sind.Das bedeutet nicht, dass wir uns nie ändern werden (Lösungen mit lokalen Webservern scheinen heutzutage am beliebtesten zu sein), aber wir haben zumindest die Wahl.

Unsere Software wird sowohl lokal an die Clients verteilt als auch über eine Netzwerkfreigabe bereitgestellt.Wir haben uns dafür entschieden, sowohl eine CHM-Datei als auch eine Reihe von HTML-Dateien für die Bereitstellung über das Netzwerk zu generieren.Benutzer, die das Programm lokal starten, verwenden die CHM-Datei, und Benutzer, die ihr Programm von einer Netzwerkfreigabe bereitstellen, müssen die HTML-Dateien verwenden.

Wir gebrauchen Hilfe und Handbuch und kann somit problemlos beide Arten von Ausgaben aus demselben Quellprojekt erzeugen.Die HTML-Dateien enthalten auch Suchfunktionen und erfordern keinen Webserver. Obwohl dies keine optimale Lösung ist, funktioniert es einwandfrei.

Bisher scheinen alle Einzeldateitypen für Windows auf die eine oder andere Weise kaputt zu sein:

  • WinHelp – veraltet
  • HtmlHelp (CHM) – unter Vista veraltet, funktioniert nicht über die Netzwerkfreigabe, ansonsten funktioniert es wirklich gut
  • Microsoft Help 2 (HXS) – dies scheint bis zu dem Punkt zu funktionieren, an dem es aufgrund beschädigter Indizes oder Ähnlichem nicht mehr funktioniert. Dies wird beispielsweise von Visual Studio 2005 und höher verwendet

Wenn Sie kein Installationsprogramm verwenden möchten und nicht möchten, dass der Benutzer zusätzliche Schritte ausführen muss, um CHM-Dateien über das Netzwerk zuzulassen, greifen Sie doch auf WinHelp zurück.Vista enthält WinHlp32.exe nicht standardmäßig, ist aber vorhanden kostenlos als Download verfügbar für Vista und Server 2008.

Es hängt davon ab, wie wichtig die Online-Dokumentation für Ihr Produkt ist. Der Aufbau einer guten Dokumentationsinfrastruktur kann komplex sein, aber wenn sie erst einmal fertig ist, zahlt sie sich aus.So machen wir es -

  • Hilfequelle DITA kompiliertes XML, gespeichert in SCC (ClearCase).
  • Hilfe beim Bearbeiten XMetall
  • Hilfezusammenstellung, angepasst Öffnen Sie das DITA Toolkit, mit benutzerdefinierter Perl/Java-Vorverarbeitung
  • Die Hilfequelle verweist zur Kompilierzeit auf Anwendungsressourcen, .RC-Dateien usw
  • Hilfeleistungen aus einer Hand, PDF, CHM, Eclipse-Hilfe, HTML.
  • Ein einziges Quell-Repository bietet Hilfe für mehrere Produkte ab 10 Jahren mit Tausenden gemeinsamer Themen.

Nach dem, was Sie beschreiben, würde ich mir die Eclipse-Hilfe ansehen. Die Integration in .NET- oder MFC-Anwendungen ist nicht einfach. Sie müssen grundsätzlich die Hilfezuordnung durchführen, um die Anforderung in eine URL aufzulösen, und dann die URL an den Eclipse-Hilfe-Wrapper oder einen Browser senden.

Stellt sich die Frage, wie man eigene Hilfedateien generiert oder welches das beste Hilfedateiformat ist?

Persönlich finde ich CHM ausgezeichnet.Eines der ersten Dinge, die ich beim Einrichten einer Maschine mache, ist das Herunterladen des PHP-Handbuchs im CHM-Format (http://www.php.net/download-docs.php) und fügen Sie einen Hotkey hinzu Crimson-Herausgeber.Wenn ich also F1 drücke, lädt es das CHM und führt eine Suche nach dem Wort durch, auf dem sich mein Cursor befindet (ideal für eine schnelle Funktionsreferenz).

Wenn Sie „einfach extrahieren und ausführen“ ausführen, treten Sicherheitsprobleme auf.Dies gilt insbesondere dann, wenn Sie als Benutzer Vista (oder höher) verwenden.Gibt es einen Grund, warum Sie es vermeiden wollten, Ihre Anwendungen in einem Installationsprogramm zu packen?Die Verwendung eines Installationsprogramms würde das Problem der „externen Quelle“ lindern.Sie könnten problemlos .chm-Dateien verwenden.

Wir gebrauchen InstallAware um unsere Installationspakete zu erstellen.Es ist nicht billig, aber sehr gut.Wenn Ihnen die Kosten am Herzen liegen, WIX ist Open Source und ziemlich robust.WIX hat zwar eine gewisse Lernkurve, aber es ist einfach, damit zu arbeiten.

PDF hat den Nachteil, dass der Adobe Reader erforderlich ist

ich benutze Foxit Reader unter Windows zu Hause und am Arbeitsplatz.Viel kleiner und sehr schnell zu öffnen.Sehr praktisch, wenn Sie sich fragen, was genau a80000326.pdf ist und warum es Ihren Dokumentenordner verstopft.

Ich denke, die Lösung, die wir letztendlich für unsere Anwendung wählen werden, besteht darin, die Hilfedateien selbst zu hosten.Dies gibt uns sofortigen Zugriff auf die Dateien und die Möglichkeit, sie auf dem neuesten Stand zu halten.

Ich habe vor, den Inhalt in eine riesige Reihe von XML-Dateien zu laden, von denen jede Hilfe für ein bestimmtes Element enthält.Dieses XML würde Links zu anderen XML-Dateien enthalten.Wir würden XSLT verwenden, um die Inhalte nach Bedarf anzuzeigen.

Abhängig von der Lizenzierung erstellen wir möglicherweise eine kundenspezifische XSLT-Datei, um das Erscheinungsbild an die Bedürfnisse des Kunden anzupassen.Möglicherweise müssen wir auch nur die Hilfe für bestimmte Versionen unseres Produkts anzeigen können. Dies kann durch Herausfiltern von Inhalten im XSLT erreicht werden.

Ich verwende ein kommerzielles Paket namens AuthorIT, das eine Reihe verschiedener Formate generieren kann, z. B. CHM, HTML, PDF, Word, Windows Help, XML, XHTML und einige andere, von denen ich noch nie gehört habe (klingelt bei Dita da irgendwas?).Es handelt sich um ein Content-Management-System, das sich an den Bedürfnissen von Autoren technischer Dokumentation orientiert.Der Vorteil besteht darin, dass Sie denselben Inhalt verwenden und wiederverwenden können, um eine Reihe von Leitfäden zu erstellen und diese dann in verschiedenen Formaten zu generieren.

Das Fazit zur Frage der Wahl von CHM oder HTML oder was auch immer lautet also: Wenn Sie dieses verwenden, sind Sie nicht an ein bestimmtes Format gebunden, sondern können mehrere bereitstellen, aus denen der Benutzer auswählen kann, und Sie können sogar weitere Formate hinzufügen nach Belieben, ohne zusätzliche Kosten.

Wenn Sie nur eine Anleitung zum Erstellen haben, wird es sich nicht lohnen, aber wenn Sie einen Dokumentationssatz verwalten müssen, ist es meines Wissens nach das Beste.Auch ihre Unterstützung ist sehr hilfreich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top