Файлы справки Windows - какие есть варианты?

В прежние времена справка была не простой, а возможной: сгенерируйте какой-нибудь забавный файл .rtf со специальными тегами, запустите его через компилятор, и вы получите файл WinHelp (.hlp), который действительно работает действительно хорошо.

Затем Microsoft решила, что WinHelp больше не является хип-хопом и переключилась на CHM, вплоть до того момента, когда они фактически отказались от WinHelp из Vista.

Теперь CHM может быть хорошим, но каждый, кто пытался открыть файл .chm в сети, будет знать приятный экран «Переход на веб-страницу был отменен», вызванный ограничениями безопасности.

Хотя есть способы заставить CHM работать вне сети, это вряд ли удачный выбор, потому что, когда пользователь нажимает кнопку «Справка», ему нужна помощь, и ему не нужно устанавливать какие-то прикольные настройки.

Итог: я считаю CHM абсолютно непригодным для использования. Но так как WinHelp больше не является опцией, мне интересно, какие есть альтернативы, особенно когда дело доходит до интеграции с моим приложением (т. Е. Для WinHelp и CHM есть функции, позволяющие напрямую перейти к теме)?

Недостатком PDF является необходимость использования Adobe Reader (или одного из более легких, которые используют не так много людей). Я мог бы жить с этим видением, так как это является своего рода стандартом в наше время, но можете ли вы сказать ему надежно перейти на данную страницу / якорь?

HTML-файлы кажутся лучшим выбором, тогда вам просто нужно иметь дело с различными браузерами (CSS и прочее).

Изменить: я ищу, чтобы создать свои собственные файлы справки. Поскольку я являюсь поклонником философии «Нет установки, просто извлеки и запускай», в прошлом у меня была эта проблема много раз, потому что многие из моих пользователей запускали ее из сети, что и вызывает эту проблему.

Поэтому я ищу более надежный и ориентированный на будущее способ оказания помощи моим пользователям без необходимости кодировать разные справочные системы для каждого приложения, которое я создаю.

CHM - это действительно хороший формат, но этот инструмент безопасности делает его непригодным для использования, поскольку предполагается, что справочная система должна предоставлять помощь пользователю, а не создавать еще больше проблем.

4.08.2008 10:43:05
10 ОТВЕТОВ
РЕШЕНИЕ

HTML будет следующим лучшим выбором, ТОЛЬКО ЕСЛИ вы будете обслуживать их с общедоступного веб-сервера. Если вы попытаетесь связать его с вашим приложением, все файлы (и изображения (и таблицы стилей (и ...))) сделают CHM похожим на подарок от богов.

Тем не менее, когда я на самом деле упакован в установочный пакет (вместо обслуживания по сети), я обнаружил, что файлы CHM работают хорошо.

OTOH, еще один подводный камень о файлах CHM: даже если вы попытаетесь открыть файл CHM на локальном диске, вы можете столкнуться с блоком безопасности, если вы первоначально загрузили его откуда-то, потому что файл может быть помечен как «поступил из внешнего источника» когда это было получено.

14
4.08.2008 10:51:39
да, это происходит постоянно. спотыкается даже опытных разработчиков.
Cheeso 6.03.2009 19:05:24
После рассмотрения почти всего остального кажется, что HTML-файлы - действительно мой единственный выбор, потому что каждая другая альтернатива серьезно нарушена.
Michael Stum♦ 9.03.2009 01:38:34
Проблема разблокировки CHM может быть программно решена, даже если у вас есть свой собственный модуль обновления. (обычные системы установки уже исправляют это) См. stackoverflow.com/questions/6823166/…
Marco van de Voort 20.09.2011 07:18:00

Мне не нравится опция html, и я фактически перешел из простого HTML в CHM, сжимая и индексируя их. Даже использовать их на кучу не-Windows клиентов даже. Это просто решило постоянную небольшую поломку людей, помещающих его в сеть (ограниченная глубина вложения, странные эффекты блокировки), антивирус, который умер в каталогах с 30000 html-файлами, и 20 минут времени декомпрессии при установке в старой системе, зонах безопасности браузера и особенности, просчеты необходимого места в установщике и т. д.

И затем я даже не включаю людей, которые начинают «исправлять» их, сторонний продукт с ошибочными попытками «интеграции» и т. Д., Жалобы на медлительность (запуск браузера)

Мы все годами ждали, когда проблемы исчезнут, поскольку операционные системы и оборудование улучшились, но проблемы продолжали повторяться в ошеломляющем количестве разновидностей, и этого было достаточно. Мы нашли chmlib и решили, что всегда можем использовать что-то, основанное на этом, как escape с простым внешним считывателем, если предоставленные ОС перестали работать и переключаться.

Между тем у нас также есть собственный компилятор, поэтому мы не подвержены риску использования MS. Это не значит, что мы никогда не изменимся (решения с локальными веб-серверами сейчас кажутся любимыми), но, по крайней мере, у нас есть выбор.

5
16.01.2014 17:01:50

Наше программное обеспечение распространяется как локально для клиентов, так и через сетевую папку. Мы выбрали генерацию как файла CHM, так и набора файлов HTML для обслуживания из сети. Пользователи, запускающие программу локально, используют файл CHM, а пользователи, получающие свою программу через общий сетевой ресурс, должны использовать файлы HTML.

Мы используем справку и руководство и, таким образом, можем легко получить оба типа выходных данных из одного исходного проекта. Файлы HTML также содержат возможности поиска и не требуют веб-сервера, поэтому, хотя это и не оптимальное решение, работает нормально.

Пока что все типы отдельных файлов для Windows, так или иначе, нарушены:

  • WinHelp - устарел
  • HtmlHelp (CHM) - устарел в Vista, не работает с общего сетевого ресурса, кроме этого работает очень хорошо
  • Справка Microsoft 2 (HXS) - кажется, что это работает вплоть до того момента, когда это не так, поврежденные индексы или тому подобное, это используется Visual Studio 2005 и выше, в качестве примера
3
4.08.2008 11:07:08
Я не знал, что CHM устарела на Vista. Это официально? Любая ссылка?
PhiLho 16.11.2008 15:02:05
(У VIsta есть преемник (поддержка платформы), но он не доступен бесплатно, и теперь в Windows 8 раз все еще не очень популярен)
Marco van de Voort 17.01.2014 07:49:57

Если вы не хотите использовать установщик и не хотите, чтобы пользователь выполнял какие-либо дополнительные действия, чтобы разрешить файлы CHM по сети, почему бы не использовать WinHelp? Vista не включает WinHlp32.exe из коробки, но она свободно доступна для загрузки как для Vista, так и для Server 2008.

3
4.08.2008 13:48:02
Потому что тогда пользователь должен выполнить дополнительные шаги, чтобы разрешить файлы HLP, даже локально?
Roger Lipscombe 4.01.2009 14:52:45
В точку. Проблема в том, что справка нужна в основном в ситуациях, когда у пользователя возникают проблемы с приложением. Любой дополнительный шаг между пользователем и файлом справки просто не удобен для пользователя :-( В противном случае я бы с радостью вернулся к WinHelp
Michael Stum♦ 6.03.2009 17:50:09

Это зависит от того, как импорт онлайн-документации к вашему продукту, может быть сложно создать хорошую инфраструктуру документации, но после этого она окупится. Вот как мы это делаем -

  • Справочный источник DITA- компилятора XML, хранящийся в SCC (ClearCase).
  • Помогите редактировать XMetal
  • Компиляция справки, настроенный Open DITA Toolkit , с настраиваемой предварительной обработкой Perl / Java
  • Справочный источник ссылается на ресурсы приложений во время компиляции, файлы .RC и т. Д.
  • Справочные материалы из одного источника, PDF, CHM, Eclipse Help , HTML.
  • Репозиторий с одним источником предоставляет помощь для нескольких продуктов 10+ с тысячами общих тем.

Из того, что вы описываете, я посмотрю на справку Eclipse, ее непросто интегрировать в приложения .NET или MFC, вам в основном нужно выполнить сопоставление справки, чтобы разрешить запрос к URL, а затем запустить URL для оболочки справки Eclipse или браузера.

3
21.09.2008 00:11:04

Вопрос в том, как создать свои собственные файлы справки, или какой формат файла справки лучше?

Лично я считаю CHM отличным. Одна из первых вещей, которые я делаю при настройке машины, - это загрузить Руководство по PHP в формате CHM ( http://www.php.net/download-docs.php ) и добавить горячую клавишу к нему в Crimson Editor . Поэтому, когда я нажимаю F1, он загружает CHM и выполняет поиск по слову, на котором находится мой курсор (отлично подходит для быстрого ознакомления с функциями).

3
4.08.2008 10:52:26

Если вы делаете «просто распакуйте и запустите», вы столкнетесь с проблемами безопасности. Это особенно верно, если вы используете Vista (или более позднюю версию). Есть ли причина, по которой вы хотели избежать упаковки ваших приложений внутри установщика? Использование установщика уменьшит проблему «внешнего источника». Вы сможете без проблем использовать файлы .chm.

Мы используем InstallAware для создания наших пакетов установки. Это не дешево, но очень хорошо. Если вас беспокоит цена, WIX имеет открытый исходный код и довольно надежный. WIX имеет кривую обучения, но с ней легко работать.

2
4.08.2008 12:11:47
Да, причина, по которой я хочу избежать установщика, заключается в том, что он не нужен. Я ненавижу установку чего-либо, потому что с ним всегда так много беспорядка (ключи реестра, элементы деинсталляции), поэтому, пока у меня нет внешних зависимостей, пунктов меню «Пуск» и т. Д., Я не хочу использовать установщик , особенно не , если это необходимо только , чтобы разобраться в ненужных проблем безопасности с системой справки :(
Michael Stum♦ 7.01.2010 00:00:13

Недостатком PDF является необходимость в Adobe Reader

Я использую Foxit Reader на Windows дома и на работе. Гораздо меньше и очень быстро открывается. Очень удобно, когда вам интересно, что же такое a80000326.pdf и почему он забивает вашу папку документов.

2
5.08.2008 18:55:00
Я использую sumatrapdf - даже меньше, чем foxit Reader !!! :) Его можно найти здесь: blog.kowalczyk.info/software/sumatrapdf автономный исполняемый файл ... полезно! ;)
t0mm13b 7.01.2010 00:39:51

Я думаю, что решение, которое мы собираемся использовать для нашего приложения, - это размещение файлов справки самостоятельно. Это дает нам немедленный доступ к файлам и возможность поддерживать их в актуальном состоянии.

Я планирую загрузить контент в огромную серию XML-файлов, каждый из которых содержит справку для определенного элемента. Этот XML будет содержать ссылки на другие файлы XML. Мы будем использовать XSLT для отображения содержимого по мере необходимости.

В зависимости от лицензирования мы можем создать клиентский XSLT-файл, чтобы адаптировать внешний вид к тому, что им нужно. Возможно, нам понадобится показать справку только для определенных версий нашего продукта, что можно сделать, отфильтровав содержимое в XSLT.

2
27.11.2008 20:39:16

Я использую коммерческий пакет AuthorIT, который может генерировать различные форматы, такие как chm, html, pdf, word, windows help, xml, xhtml и некоторые другие, о которых я никогда не слышал (dita звонит в колокольчик?). Это система управления контентом, ориентированная на потребности разработчиков технической документации. Преимущество состоит в том, что вы можете использовать и повторно использовать один и тот же контент для создания набора руководств, а затем создавать их в разных форматах.

Таким образом, суть в том, что касается вопроса выбора chm или html или чего-то еще: если вы используете это, вы не привязаны к определенному формату, но вы можете предоставить несколько, среди которых пользователь может выбирать, и вы даже можете добавить больше форматов. по мере продвижения, без каких-либо дополнительных затрат.

Если у вас есть только одно руководство по его созданию, оно не будет стоить вашего времени, но если у вас есть набор документации для управления, то это лучшее, насколько мне известно. Их поддержка также очень полезна.

1
18.09.2008 14:47:16