language agnostic -Windows帮助文件-有哪些选项?

Translate

过去,Help并非无关紧要,而是可行的:生成带有特殊标签的时髦.rtf文件,通过编译器运行它,您会获得一个实际上运行良好的WinHelp文件(.hlp)。

然后,Microsoft决定WinHelp不再时髦,并转而使用CHM,直到他们实际上从Vista中删除了WinHelp。

现在,CHM可能不错,但是尝试在网络上打开.chm文件的每个人都会知道,这是由安全限制引起的,漂亮的“导航到页面已被取消”屏幕。

尽管有多种方法可以使CHM在网络上工作,但这并不是一个好选择,因为当用户按下“帮助”按钮时,他需要帮助,而不必进行一些时髦的设置。

底线:我发现CHM绝对不可用。但是,由于WinHelp不再是一个选择,我想知道有什么替代方法,尤其是在与我的应用程序集成时(例如,对于WinHelp和CHM,有一些功能可以让您直接跳至某个主题)?

PDF的缺点是需要使用Adobe Reader(或者不是很多人使用的轻量级阅读器之一)。我可以接受这种看法,因为这是当今的一种标准,但是您能否可靠地告诉它跳转到给定的页面/锚?

HTML文件似乎是最好的选择,然后您只需要使用不同的浏览器(CSS和东西)即可。

编辑:我正在寻找创建自己的帮助文件。由于我是“不设置,只提取并运行”这一理念的迷,过去我曾多次遇到该问题,因为我的许多用户都将其从网络上运行,这正是造成此问题的原因。

因此,我正在寻找一种更可靠且面向未来的方法来为用户提供帮助,而不必为我制作的每个应用程序编写不同的帮助系统。

CHM是一种非常不错的格式,但是Security Stuff使其无法使用,因为“帮助”系统应该为用户提供帮助,而不会产生更多问题。

This question and all comments follow the "Attribution Required."

所有的回答

Translate

仅当您可以通过公共Web服务器为它们提供服务时,HTML才是下一个最佳选择。如果您尝试将其与应用程序捆绑在一起,则所有文件(以及图像(以及样式表(和...)))都将使CHM看起来像是天赐之物。

就是说,当实际上捆绑在安装包中时(而不是通过网络提供),我发现CHM文件可以很好地工作。

OTOH,关于CHM文件的另一个陷阱:即使您尝试在计算机上打开CHM文件本地磁盘,如果您最初是从某个地方下载的,则可能会碰到安全块,因为获取文件时,该文件可能会被标记为“来自外部来源”。

来源
Translate

我不喜欢html选项,实际上是通过压缩和索引它们将它们从纯HTML转换为CHM。甚至可以在少数非Windows客户上使用它们。它只是解决了人们将其放置在网络上的持续不断的中断(嵌套深度受限,奇怪的锁定效果),杀毒软件死于包含30000个html文件的目录中以及在安装于旧系统,浏览器安全区域和功能,对安装程序中所需空间的错误估算等。

然后,我什至不包括那些开始“纠正”它们的人,“集成”尝试有误的第三方产品等等,抱怨速度慢(浏览器启动)

随着操作系统和硬件的改进,我们都已经等待了数年,这些问题消失了,但是问题不断出现,令人眼花number乱的品种数量已经足够了。我们找到了chmlib,并决定如果操作系统提供的停止运行并进行切换的话,我们可以永远使用基于此的内容作为一个简单的外部读取器进行转义。

同时,我们也有自己的编译器,因此我们免费提供面向未来的MS。这并不意味着我们永远都不会改变(如今,使用本地Web服务器的解决方案似乎很受欢迎),但是至少我们可以选择。

来源
Translate

我们的软件既本地分发到客户端,又通过网络共享提供服务。我们选择生成一个CHM文件和一组HTML文件,以从网络进行投放。在本地启动程序的用户使用CHM文件,而从网络共享中获取其程序的用户则必须使用HTML文件。

我们用帮助和手册因此可以轻松地从同一源项目中产生两种类型的输出。 HTML文件还包含搜索功能,并且不需要Web服务器,因此尽管它不是最佳解决方案,但效果很好。

到目前为止,Windows的所有单文件类型似乎都以一种或另一种方式损坏:

  • WinHelp-已过时
  • HtmlHelp(CHM)-在Vista上已过时,无法通过网络共享使用,除此之外,它确实非常不错
  • Microsoft帮助2(HXS)-这似乎可以正常工作,直到不起作用,索引损坏或类似情况为止(例如,Visual Studio 2005及更高版本使用此示例)
来源
Translate

如果您不想使用安装程序,并且不想让用户执行任何额外的步骤以允许CHM文件通过网络运行,为什么不退回WinHelp? Vista不包含WinHlp32.exe,但它是可免费下载适用于Vista和Server 2008。

来源
Translate

这取决于在线文档是如何导入到您的产品中的,一个好的文档基础架构的建立可能很复杂,但是一旦完成,它就会奏效。这是我们的方法-

  • 帮助源迪塔编译XML,存储在SCC(ClearCase)中。
  • 帮助编辑XMetal
  • 帮助编译,定制打开DITA工具包,具有自定义的Perl / Java预处理
  • 帮助源在编译时交叉引用应用程序资源,.RC文件等
  • 从单一来源,PDF,CHM,Eclipse帮助,HTML。
  • 单一源存储库可为具有数千个共享主题的10多种产品提供帮助。

从描述的角度来看,我将看一下Eclipse帮助,它不容易集成到.NET或MFC应用程序中,您基本上必须进行帮助映射才能将请求解析为URL,然后将URL触发到Eclipse帮助包装器或浏览器。

来源
Translate

问题是如何生成自己的帮助文件,或者最好的帮助文件格式是什么?

我个人认为CHM非常出色。设置计算机时,我要做的第一件事就是以CHM格式下载PHP手册(http://www.php.net/download-docs.php),然后在其中添加一个热键深红色编辑器。因此,当我按F1键时,它将加载CHM并搜索光标所在的单词(非常适合快速参考功能)。

来源
Translate

如果您正在执行“仅提取并运行”操作,则会遇到安全问题。如果您正在运行Vista(或更高版本),则尤其如此。为什么要避免将应用程序打包在安装程序中的原因?使用安装程序将减轻“外部源”问题。您将能够使用.chm文件,而不会出现任何问题。

我们用InstallAware创建我们的安装软件包。它并不便宜,但是非常好。如果您担心成本,威克斯是开源的,非常强大。 WIX确实具有学习曲线,但是使用起来很容易。

来源
Translate

PDF的缺点是需要使用Adobe Reader

我用福昕阅读器在家里和办公室的Windows上。小得多,打开起来非常快。当您想知道a80000326.pdf到底是什么以及为什么它阻塞了您的documents文件夹时,非常方便。

来源
Translate

我认为我们要为应用程序最终使用的解决方案是自己托管帮助文件。这使我们可以立即访问文件,并使它们保持最新状态。

我计划将内容加载到一系列XML文件中,每个文件都包含特定项目的帮助。该XML将包含指向其他XML文件的链接。我们将根据需要使用XSLT显示内容。

根据许可的不同,我们可能会构建特定于客户的XSLT文件,以便根据其需要定制外观。我们可能还需要仅显示产品特定版本的帮助,这可以通过过滤掉XSLT中的内容来完成。

来源
Dave Lee
Translate

我使用一个称为AuthorIT的商业软件包,该软件包可以生成许多不同的格式,例如chm,html,pdf,word,Windows帮助,xml,xhtml和其他一些我从未听说过的文件(dita会响起钟声吗?)。这是一个面向技术文档编写者需求的内容管理系统。好处是您可以使用和重复使用相同的内容来构建一组指南,然后以不同的格式生成它们。

因此,与选择chm或html或其他问题有关的底线是,如果您使用chm或html,则不会被锁定为给定格式,而是可以提供用户可以选择的几种格式,甚至可以添加更多格式随着您的前进,无需任何额外费用。

如果您只有一个指南来创建它,那将是不值得的,但是,如果您要管理一个文档,那是我所知的。他们的支持也非常有帮助。

来源