Archivos de ayuda de Windows - ¿cuáles son las opciones?


En los viejos tiempos, la ayuda no era trivial sino posible: generar algo funky .archivo rtf con etiquetas especiales, ejecutarlo a través de un compilador, y tienes un archivo WinHelp (.hlp) que en realidad funciona muy bien.

Entonces, Microsoft decidió que WinHelp ya no era moderno y genial y cambió a CHM, hasta el punto de que realmente eliminaron a WinHelp de Vista.

Ahora, CHM tal vez agradable, pero todos los que trataron de abrir un.chm archivo en la Red conocerá la buena " Navegación a la página web fue cancelada " pantalla que es causada por restricciones de seguridad.

Si bien hay formas de hacer que CHM funcione fuera de la red, esta no es una buena opción, porque cuando un usuario presiona el botón de Ayuda quiere ayuda y no tiene que hacer algunos ajustes funky.

En pocas palabras: Encuentro CHM absolutamente inutilizable. Pero como WinHelp ya no es una opción, me pregunto cuáles son las alternativas, especialmente cuando se trata de integrar con mi aplicación (es decir, para WinHelp y CHM hay funciones que le permiten saltar directamente a un tema)?

PDF tiene la desventaja de requerir el Adobe Reader (o uno de los más ligeros que no mucha gente usa). Podría vivir con eso ya que esto es una especie de estándar hoy en día, pero ¿puedes decirle de manera confiable que salte a una página/ancla dada?

Los archivos HTML parecen ser la mejor opción, entonces solo tienes que lidiar con diferentes navegadores (CSS y cosas).

Edit: Estoy buscando crear mi propia ayuda File. Como soy un fan de la Filosofía "Sin Configuración, solo Extraer y Ejecutar", tuve ese problema muchas veces en el pasado porque muchos de mis usuarios lo ejecutarán fuera de la red, lo que causa exactamente este problema.

Así que estoy buscando una forma más robusta y a prueba de futuro para proporcionar ayuda a mis usuarios sin tener que codificar un sistema de ayuda diferente para cada aplicación que hago.

CHM es un formato muy agradable, pero esas cosas de seguridad lo hacen inutilizable, ya que se supone que un sistema de ayuda debe proporcionar ayuda al usuario, para no generar aún más problemas.

Author: Rais Alam, 2008-08-04

10 answers

HTML sería la siguiente mejor opción, SOLO SI los serviría desde un servidor web público. Si ha intentado empaquetarlo con su aplicación, todos los archivos (e imágenes (y hojas de estilo) y ...))) haría CHM parece un regalo de los dioses.

Dicho esto, cuando realmente se incluye en el paquete de instalación, (en lugar de ser servido a través de la red), encontré que los archivos CHM funcionan muy bien.

OTOH, otra trampa sobre los archivos CHM: Incluso si intenta abrir un archivo CHM en un local disco, puede chocar con el bloque de seguridad si inicialmente lo descargó desde algún lugar, porque el archivo podría marcarse como "vino de fuente externa" cuando se obtuvo.

 14
Author: Ishmaeel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-04 10:51:39

No me gusta la opción html, y en realidad se movió de HTML simple a CHM comprimiéndolos e indexándolos. Incluso usarlos en un puñado de clientes que no son de Windows, incluso. Simplemente resolvió la constante pequeña rotura de personas que lo ponen en la red (profundidad de anidación limitada, efectos de bloqueo extraños), antivirus que murió en directorios con 30000 archivos html, y 20 minutos de tiempo de descompresión durante la instalación en un sistema más antiguo, zonas de seguridad del navegador y características, errores de cálculo del espacio necesario en el instalador, etc.

Y luego ni siquiera incluyo a las personas que comienzan a "corregirlos", productos de terceros con intentos de "integración" defectuosos, etc., quejas sobre lentitud (inicio del navegador)

Todos habíamos esperado años para que los problemas desaparecieran a medida que mejoraban los sistemas operativos y el hardware, pero los problemas seguían repitiéndose en un deslumbrante número de variedades y ya era suficiente. Encontramos a chmlib, y decidimos que siempre podríamos usar algo basado en esto como escape con un simple lector externo, si el sistema operativo proporcionado dejó de funcionar y cambió.

Mientras tanto, también tenemos un compilador propio, por lo que somos MS free future-proof. Eso no significa que nunca cambiaremos (las soluciones con servidores web locales parecen ser las favoritas hoy en día), pero al menos tenemos una opción.

 5
Author: Marco van de Voort,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-01-16 17:01:50

Nuestro software se distribuye localmente a los clientes y se sirve desde un recurso compartido de red. Optamos por generar tanto un archivo CHM como un conjunto de archivos HTML para servir desde la red. Los usuarios que inician el programa localmente usan el archivo CHM, y los usuarios que reciben su programa desde un recurso compartido de red tienen que usar los archivos HTML.

Utilizamos Ayuda y Manual y así podemos producir fácilmente ambos tipos de salida desde el mismo proyecto fuente. Los archivos HTML también contienen búsqueda capacidades y no requiere un servidor web, por lo que aunque no es una solución óptima, funciona bien.

Hasta ahora todos los tipos de archivo único para Windows parecen rotos de una manera u otra:

  • WinHelp-obsoleted
  • HTMLHelp (CHM) - obsoleto en Vista, no funciona desde un recurso compartido de red, aparte de eso funciona muy bien
  • Microsoft Help 2 (HXS) - esto parece funcionar hasta el punto en que no lo hace, índices corruptos o similares, esto es utilizado por Visual Studio 2005 y superiores, como ejemplo
 3
Author: Lasse Vågsæther Karlsen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-04 11:07:08

Si no desea utilizar un instalador y no desea que el usuario realice ningún paso adicional para permitir archivos CHM a través de la red, ¿por qué no recurrir a WinHelp? Vista no incluye WinHlp32.exe fuera de la caja, pero está disponible gratuitamente como descarga tanto para Vista como para Server 2008.

 3
Author: Chris Miller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-04 13:48:02

Depende de cómo importar la documentación en línea a su producto, una buena infraestructura de documentación puede ser compleja de establecer, pero una vez hecha, vale la pena. Así es como lo hacemos -

  • Fuente de ayuda DITA XML compilante, almacenado en SCC (ClearCase).
  • Ayuda editando xMetal
  • Compilación de ayuda, personalizada Open DITA Toolkit , con preprocesamiento Perl/Java personalizado
  • Fuente de ayuda referencias cruzadas aplicaciones recursos en compile tiempo, .Archivos RC etc
  • Entregas de ayuda de fuente única, PDF, CHM, Ayuda de Eclipse, HTML.
  • El repositorio de fuente única produce ayuda para múltiples productos 10+ con miles de temas compartidos.

De lo que describes, miraría la ayuda de Eclipse, no es fácil de integrar en aplicaciones.NET o MFC, básicamente tienes que hacer la asignación de ayuda para resolver la solicitud a una URL y luego disparar la URL a Eclipse Help wrapper o un navegador.

 3
Author: titanae,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-21 00:11:04

Es la pregunta cómo generar sus propios archivos de ayuda, o cuál es el mejor formato de archivo de ayuda?

Personalmente, creo que CHM es excelente. Una de las primeras cosas que hago al configurar una máquina es descargar el Manual de PHP en formato CHM ( http://www.php.net/download-docs.php ) y agregue una tecla de acceso rápido en Crimson Editor . Entonces, cuando presiono F1, carga el CHM y realiza una búsqueda de la palabra en la que está mi cursor (excelente para referencia rápida de funciones).

 3
Author: Kevin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-04 10:52:26

Si está haciendo "solo extraer y ejecutar", se va a ejecutar en problemas de seguridad. Esto es especialmente cierto si los usuarios están ejecutando Vista (o posterior). ¿hay alguna razón por la que quería evitar empaquetar sus aplicaciones dentro de un instalador? El uso de un instalador aliviaría el problema de "fuente externa". Usted sería capaz de utilizar .archivos chm sin ningún problema.

Usamos InstallAware para crear nuestros paquetes de instalación. No es barato, pero es muy bueno. Si el costo es su preocupación, WIX es de código abierto y bastante robusto. WIX tiene una curva de aprendizaje, pero es fácil trabajar con ella.

 2
Author: Chris Miller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-04 12:11:47

PDF tiene la desventaja de requerir el Adobe Reader

Utilizo Foxit Reader en Windows en casa y en el trabajo. Mucho más pequeño y muy rápido de abrir. Muy útil cuando se pregunta qué es exactamente a80000326.pdf es y por qué está obstruyendo su carpeta de documentos.

 2
Author: graham.reeds,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-05 18:55:00

Creo que la solución con la que vamos a terminar para nuestra aplicación es alojar los archivos de ayuda nosotros mismos. Esto nos da acceso inmediato a los archivos y la capacidad de mantenerlos actualizados.

Lo que planeo es tener el contenido cargado en una gran serie de archivos XML, cada uno con ayuda para un elemento específico. Este XML contendría enlaces a otros archivos XML. Usaríamos XSLT para mostrar el contenido según sea necesario.

Dependiendo de la licencia, podemos construir un archivo XSLT específico del cliente para adaptar la apariencia a lo que necesitan. Es posible que necesitemos poder mostrar solo ayuda para versiones particulares de nuestro producto también y eso se puede hacer filtrando cosas en el XSLT.

 2
Author: Michael Beck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-27 20:39:16

Utilizo un paquete comercial llamado AuthorIT que puede generar una serie de formatos diferentes, como chm, html, pdf, word, ayuda de Windows, xml, xhtml, y algunos otros que nunca he oído hablar (¿dita suena?). Es un sistema de gestión de contenidos orientado a las necesidades de los redactores de documentación técnica. La ventaja es que puede usar y reutilizar el mismo contenido para construir un conjunto de guías, y luego generarlas en diferentes formatos.

Así que la línea de fondo relativa a la la cuestión de elegir chm o html o lo que sea es que si estás usando esto no estás bloqueado en un formato dado, pero puedes proporcionar varios entre los cuales el usuario puede elegir, e incluso puedes agregar más formatos a medida que avanzas, sin costo adicional.

Si solo tiene una guía para crear, no valdrá la pena, pero si tiene un conjunto de documentación para administrar, es lo mejor que sé. Su apoyo también es muy útil.

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-18 14:47:16