【问题标题】:Windows Help files - what are the options?Windows 帮助文件 - 有哪些选项?
【发布时间】:2010-09-05 07:02:56
【问题描述】:

在过去,帮助不是微不足道的,而是可能的:生成一些带有特殊标签的时髦 .rtf 文件,通过编译器运行它,你就得到了一个运行良好的 WinHelp 文件 (.hlp)。

然后,微软认为 WinHelp 不再时髦和酷,并转而使用 CHM,直到他们实际上从 Vista 中删除了 WinHelp。

现在,CHM 可能不错,但每个尝试在网络上打开 .chm 文件的人都会知道安全限制导致的“导航到网页已取消”画面。

虽然有一些方法可以使 CHM 脱离网络工作,但这并不是一个好的选择,因为当用户按下帮助按钮时,他需要帮助,而不必进行一些时髦的设置。

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

PDF 的缺点是需要 Adob​​e Reader(或者是没有多少人使用的更轻量级的阅读器之一)。我可以接受这种观点,因为这是当今的一种标准,但你能告诉它可靠地跳转到给定的页面/锚点吗?

HTML 文件似乎是最好的选择,然后你只需要处理不同的浏览器(CSS 和其他东西)。

编辑: 我希望创建自己的帮助文件。由于我是“无需设置,只需提取并运行”理念的粉丝,我过去曾多次遇到过这个问题,因为我的许多用户会从网络上运行它,这正是导致这个问题的原因。

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

CHM 是一种非常好的格式,但安全性使其无法使用,因为帮助系统应该为用户提供帮助,而不是产生更多问题。

【问题讨论】:

    标签: windows language-agnostic chm winhelp


    【解决方案1】:

    HTML 将是下一个最佳选择,只有当您从公共网络服务器提供它们时。如果您尝试将其与您的应用程序捆绑在一起,那么所有文件(和图像(和样式表(和...)))都会使 CHM 看起来像是上天赐予的礼物。

    也就是说,当实际捆绑在安装包中时(而不是通过网络提供服务),我发现 CHM 文件运行良好。

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

    【讨论】:

    • 是的,这种情况经常发生。即使是经验丰富的开发人员也会被绊倒。
    • 在考虑了几乎所有其他内容之后,似乎 HTML 文件确实是我唯一的选择,因为所有其他选择都严重损坏了。
    • CHM 解锁问题可以通过编程方式解决,即使您有自己的更新程序。 (常规安装系统已经修复)见stackoverflow.com/questions/6823166/…
    【解决方案2】:

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

    就我个人而言,我认为 CHM 非常出色。设置机器时我做的第一件事就是下载 CHM 格式的 PHP 手册 (http://www.php.net/download-docs.php) 并在 Crimson Editor 中添加一个热键。因此,当我按下 F1 时,它会加载 CHM 并搜索我的光标所在的单词(非常适合快速函数参考)。

    【讨论】:

      【解决方案3】:

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

      我们使用Help and Manual,因此可以轻松地从同一个源项目生成两种类型的输出。 HTML 文件还包含搜索功能,不需要网络服务器,因此虽然不是最佳解决方案,但可以正常工作。

      到目前为止,Windows 的所有单文件类型似乎都以某种方式被破坏了:

      • WinHelp - 已过时
      • HtmlHelp (CHM) - 在 Vista 上已过时,不能通过网络共享工作,除此之外真的很好用
      • Microsoft 帮助 2 (HXS) - 这似乎一直有效,直到它不起作用,索引损坏或类似情况,Visual Studio 2005 及更高版本使用此作为示例

      【讨论】:

      • 我不知道 CHM 在 Vista 上已过时。是官方的吗?有链接吗?
      • (VIsta有后继者(平台辅助),但不是免费的,现在在windows 8时代还不是很流行)
      【解决方案4】:

      如果您正在执行“只需提取并运行”,那么您将遇到安全问题。如果您是运行 Vista(或更高版本)的用户,则尤其如此。您是否有理由避免将应用程序打包在安装程序中?使用安装程序将缓解“外部源”问题。您可以毫无问题地使用 .chm 文件。

      我们使用InstallAware 来创建我们的安装包。它并不便宜,但非常好。如果您关心成本,WIX 是开源的并且非常强大。 WIX 确实有一个学习曲线,但它很容易上手。

      【讨论】:

      • 是的,我想避免安装程序的原因是因为它们不是必需的。我讨厌安装东西,因为总是有很多与之相关的混乱(注册表项、卸载项),所以只要我没有任何外部依赖项、开始菜单条目等,我就不想使用安装程序, 特别是如果它只需要通过帮助系统解决不必要的安全问题:(
      【解决方案5】:

      如果您不想使用安装程序并且不希望用户执行任何额外的步骤来允许 CHM 文件通过网络,为什么不回退到 WinHelp? Vista 不包括开箱即用的 WinHlp32.exe,但对于 Vista 和 Server 2008,它是 freely available as a download

      【讨论】:

      • 因为用户必须执行额外的步骤才能允许 HLP 文件,甚至在本地?
      • 没错。问题在于,在用户对应用程序有问题的情况下,大多数情况下需要帮助。用户和帮助文件之间的任何额外步骤都不是用户友好的:-(否则我很乐意回到 WinHelp
      【解决方案6】:

      PDF 的缺点是需要 Adob​​e Reader

      我在家里和工作中的 Windows 上使用Foxit Reader。小很多,打开速度也很快。当您想知道 a80000326.pdf 到底是什么以及为什么它会堵塞您的文档文件夹时,它非常方便。

      【讨论】:

      【解决方案7】:

      我使用了一个名为 AuthorIT 的商业包,它可以生成多种不同的格式,例如 chm、html、pdf、word、windows help、xml、xhtml 以及一些我从未听说过的其他格式(dita 响铃吗? ?)。 它是一个面向技术文档编写者需求的内容管理系统。 优点是您可以使用和重复使用相同的内容来构建一组指南,然后以不同的格式生成它们。

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

      如果您只有一个指南来创建它,那将不值得您花时间,但如果您有要管理的文档集,那么据我所知,这是最好的。他们的支持也很有帮助。

      【讨论】:

        【解决方案8】:

        这取决于将在线文档导入到您的产品中的方式,一个好的文档基础架构可能很难建立,但一旦完成就会有回报。这是我们的做法 -

        • 帮助源 DITA 编译 XML,存储在 SCC (ClearCase) 中。
        • 帮助编辑XMetal
        • 帮助编译,自定义Open DITA Toolkit,使用自定义 Perl/Java 预处理
        • 在编译时帮助源交叉引用应用程序资源、.RC 文件等
        • 帮助交付来自单一来源、PDF、CHM、Eclipse Help、HTML。
        • 单一源代码库为 10 多个具有数千个共享主题的产品提供帮助。

        根据您的描述,我会查看 Eclipse 帮助,集成到 .NET 或 MFC 应用程序中并不简单,您基本上必须进行帮助映射以将请求解析为 URL,然后将 URL 触发到 Eclipse 帮助包装器或浏览器。

        【讨论】:

          【解决方案9】:

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

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

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

          【讨论】:

            【解决方案10】:

            我不喜欢 html 选项,实际上是通过压缩和索引它们从纯 HTML 转移到 CHM。甚至在少数非 Windows 客户上使用它们。 它简单地解决了人们将它放在网络上的持续小故障(嵌套深度有限,奇怪的锁定效果),杀毒软件在包含 30000 个 html 文件的目录中死去,以及在旧系统上安装时需要 20 分钟的解压时间,浏览器安全区和功能,安装程序中所需空间的错误计算等。

            然后我什至不包括开始“纠正”它们的人、具有错误“集成”尝试等的第 3 方产品、关于缓慢(浏览器启动)的投诉

            随着操作系统和硬件的改进,我们都等了好几年,直到问题消失,但问题不断出现,种类繁多,足够了。我们找到了 chmlib,并决定如果操作系统提供的那些停止工作并切换,我们可以永远使用基于此的东西作为简单的外部阅读器的转义。

            同时,我们也有自己的编译器,因此我们是面向未来的免费 MS。这并不意味着我们永远不会改变(使用本地网络服务器的解决方案现在似乎最受欢迎),但至少我们有一个选择。

            【讨论】:

              猜你喜欢
              • 2022-12-21
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-06-26
              • 1970-01-01
              • 1970-01-01
              • 2011-04-05
              • 1970-01-01
              相关资源
              最近更新 更多