2008-08-04 13 views
35

En los viejos tiempos, la ayuda no era trivial sino posible: generaba un archivo funky .rtf con etiquetas especiales, ejecútalo a través de un compilador, y obtenías un archivo WinHelp (.hlp) que realmente funcionaba muy bien.Archivos de Ayuda de Windows: ¿cuáles son las opciones?

Luego, Microsoft decidió que WinHelp ya no estaba de moda y se cambió a CHM, hasta el punto que en realidad desconectó WinHelp de Vista.

Ahora, CHM puede ser agradable, pero todos los que intentaron abrir un archivo .chm en la red sabrán que la bonita pantalla de "Se canceló la página web" está 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 realizar algunos ajustes funky.

Conclusión: 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 pasar 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 decir de manera confiable que saltes a una página/ancla determinada?

Los archivos HTML parecen ser la mejor opción, entonces solo tiene que tratar con diferentes navegadores (CSS y demás).

Editar: Estoy buscando para crear mis propios archivos de ayuda. Como soy fanático 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 manera 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 bonito, pero ese material de seguridad lo hace inutilizable, ya que se supone que un sistema de ayuda brinda ayuda al usuario, no para generar aún más problemas.

Respuesta

15

HTML sería la siguiente mejor opción, SÓLO SI los serviría desde un servidor web público. Si trataste de agruparlo con tu aplicación, todos los archivos (e imágenes (y hojas de estilo (y ...))) harían que CHM parezca un regalo de los dioses.

Dicho esto, cuando en realidad estaba incluido en el paquete de instalación, (en lugar de ser servido en la red), encontré que los archivos CHM funcionan bien.

otoh, otro escollo sobre los archivos CHM: Incluso si se intenta abrir un archivo CHM en un disco local , es posible toparse con el bloque de seguridad si inicialmente descargado desde algún lugar, debido a que el archivo podría ser marcado como "vino de una fuente externa" cuando se obtuvo.

+1

sí, esto sucede todo el tiempo. viajes hasta desarrolladores experimentados. – Cheeso

+1

Después de considerar casi todo lo demás, parece que los archivos HTML son mi única opción, porque cada una de las otras alternativas está severamente rota. –

+0

El problema de desbloqueo de CHM se puede resolver mediante programación, incluso si tiene su propio actualizador. (los sistemas de instalación regulares ya lo arreglan) Vea http://stackoverflow.com/questions/6823166/chm-file-unreadble-if-saved-to-hdd –

3

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

Personalmente, considero 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 agregarle una tecla de acceso directo en Crimson Editor. Así que cuando presiono F1, carga el CHM y realiza una búsqueda de la palabra en la que está mi cursor (ideal para una función de referencia rápida).

3

Nuestro software se distribuye localmente a los clientes y se sirve desde un recurso compartido de red. Optamos por generar un archivo CHM y un conjunto de archivos HTML para servir desde la red. Los usuarios que inician el programa de forma local utilizan el archivo CHM, y los usuarios que reciben su programa desde una red compartida deben usar los archivos HTML.

Usamos Help and Manual y podemos producir fácilmente ambos tipos de resultados desde el mismo proyecto fuente. Los archivos HTML también contienen capacidades de búsqueda y no requieren un servidor web, por lo que aunque no es una solución óptima, funciona bien.

Hasta el momento todos los tipos de un solo archivo para Windows parece roto en una forma u otra:

  • WinHelp - obsoletos
  • HtmlHelp (CHM) - obsoleto en Vista, no funciona de un recurso compartido de red , aparte de que funciona realmente bien
  • Microsoft Help 2 (HXS) - esto parece funcionar hasta el punto en que no, los índices corruptos o similares, esto es utilizado por Visual Studio 2005 y superior, como un ejemplo
+0

No sabía que CHM estaba obsoleto en Vista. ¿Es oficial? Cualquier enlace? – PhiLho

+1

(VIsta tiene un sucesor (asistencia de plataforma), pero eso no está disponible gratuitamente, y ahora en Windows 8 veces todavía no es muy popular) –

2

Si está haciendo "solo extraer y ejecutar", se ejecutará en problemas de seguridad. Esto es especialmente cierto si sus usuarios ejecutan Vista (o posterior). ¿Hay alguna razón por la cual quisiera evitar empaquetar sus aplicaciones dentro de un instalador? Usar un instalador aliviaría el problema de la "fuente externa". Podrías usar archivos .chm sin ningún problema.

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

+0

Sí, la razón por la que quiero evitar un instalador es porque no son necesarios. Odio instalar cosas porque siempre hay mucho desorden asociado (claves de registro, elementos de desinstalación), así que mientras no tenga dependencias externas, inicie entradas de menú, etc., no quiero usar un instalador , especialmente si solo es necesario para solucionar problemas de seguridad innecesarios con el sistema de ayuda :( –

3

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 es freely available as a download tanto para Vista y Windows Server 2008.

+0

Porque entonces el usuario tiene que realizar pasos adicionales para permitir archivos HLP, incluso a nivel local? –

+0

Exactamente. El problema es que la Ayuda es algo que se necesita principalmente en situaciones donde el usuario tiene un problema con la aplicación. Cualquier paso adicional entre el usuario y el archivo de ayuda no es fácil de usar :-(De lo contrario, me gustaría volver a WinHelp –

2

PDF tiene la desventaja de que requiere el programa Adobe Reader

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

+1

Uso sumatrapdf - incluso más pequeño que Fox Reader ! :) Se puede encontrar aquí http://blog.kowalczyk.info/software/sumatrapdf/ un ejecutable independiente ... ¡útil!;) – t0mm13b

1

Utilizo un paquete comercial llamado AuthorIT que puede generar una serie de formatos diferentes, como chm, html, pdf, word, windows help, xml, xhtml y algunos otros que nunca he escuchado (hace dita ring a ¿campana?). 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 crear un conjunto de guías, y luego generarlas en diferentes formatos.

Por lo tanto, la conclusión relativa a la elección de chm o html o lo que sea es que si está utilizando esto no está bloqueado en un formato determinado, pero puede proporcionar varios entre los que el usuario puede elegir, y puede incluso agregue más formatos a medida que avanza, sin costo adicional.

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

3

Depende de qué tan importante sea la documentación en línea para su producto, una buena infraestructura de documentación puede ser compleja de establecer, pero una vez que se realiza, da sus frutos. Así es como lo hacemos -

  • Fuente de ayuda DITA XML compilante, almacenado en SCC (ClearCase).
  • Ayuda de edición XMetal
  • Ayuda compilación, modificado para requisitos particulares Open DITA Toolkit, con la costumbre de Perl/Java preprocesamiento
  • Ayuda referencias cruzadas fuente de recursos de aplicaciones en tiempo de compilación, etc archivos .RC
  • entregables la ayuda de una sola fuente, PDF, CHM , Eclipse Help, HTML.
  • El repositorio de origen único produce ayuda para múltiples productos 10+ con miles de temas compartidos.

De lo que describes me gustaría ver Eclipse Ayuda, no es fácil de integrar en aplicaciones .NET o MFC, que, básicamente, tiene que hacer el mapeo ayuda a resolver la solicitud a una URL a continuación, disparar el URL para Eclipse Contenedor de ayuda o un navegador.

2

Creo que la solución que vamos a encontrar 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 cargar el contenido en una gran serie de archivos XML, cada uno de los cuales contiene ayuda para un elemento específico. Este XML contendría enlaces a otros archivos XML. Utilizaríamos XSLT para mostrar los contenidos según sea necesario.

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

5

No me gusta la opción html, y de hecho se movió desde HTML simple a CHM al comprimirlos e indexarlos. Incluso úselas en un puñado de clientes que no sean de Windows, incluso. Resolvió simplemente la pequeña rotura constante de gente poniéndola en la red (profundidad de anidamiento, efectos de bloqueo extraños), antivirus que murió en directorios con archivos de 30000 html y 20 minutos de tiempo de descompresión mientras se instalaba en un sistema anterior, zonas de seguridad del navegador y características, cálculos erróneos del espacio necesario en el instalador, etc.

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

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

Mientras tanto, también tenemos un compilador propio, por lo que estamos libres de MS a prueba de futuro. 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.

Cuestiones relacionadas