Вопрос

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

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

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

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

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

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

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

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

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

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

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

До сих пор все однофайловые типы для Windows так или иначе кажутся сломанными:

  • WinHelp — устаревший
  • HtmlHelp (CHM) — устарел в Vista, не работает из сетевого ресурса, в остальном работает очень хорошо.
  • Microsoft Help 2 (HXS) - похоже, это работает до тех пор, пока это не произойдет, повреждены индексы или что-то подобное, это используется в Visual Studio 2005 и более поздних версиях в качестве примера.

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

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

  • Источник справки ДИТА компилируемый XML, хранящийся в SCC (ClearCase).
  • Помогите с редактированием XМеталл
  • Сбор справки, индивидуальный Открыть набор инструментов DITA, с пользовательской предварительной обработкой Perl/Java
  • Справочный источник содержит перекрестные ссылки на ресурсы приложений во время компиляции, файлы .RC и т. д.
  • Справочные материалы из одного источника, PDF, CHM, Справка по Затмению, HTML.
  • Репозиторий с одним исходным кодом предоставляет справку по более чем 10 продуктам с тысячами общих тем.

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

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

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

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

Мы используем УстановитьAware для создания наших установочных пакетов.Это не дешево, но очень хорошо.Если вас беспокоит стоимость, ВИКС имеет открытый исходный код и довольно надежный.WIX требует обучения, но с ним легко работать.

PDF имеет тот недостаток, что требует наличия Adobe Reader.

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top