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

发布于 2024-07-04 00:28:22 字数 824 浏览 13 评论 0原文

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

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

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

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

底线:我发现 CHM 绝对无法使用。 但随着 WinHelp 不再是一个选项,我想知道替代方案是什么,特别是在与我的应用程序集成时(即,对于 WinHelp 和 CHM,有允许您直接跳转到主题的功能)?

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

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

编辑:我希望创建自己的帮助文件。 由于我是“无需安装,只需提取并运行”哲学的粉丝,我过去多次遇到过这个问题,因为我的许多用户会在网络之外运行它,这正是导致这个问题的原因。

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

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

Back in the old days, Help was not trivial but possible: generate some funky .rtf file with special tags, run it through a compiler, and you got a WinHelp file (.hlp) that actually works really well.

Then, Microsoft decided that WinHelp was not hip and cool anymore and switched to CHM, up to the point they actually axed WinHelp from Vista.

Now, CHM maybe nice, but everyone that tried to open a .chm file on the Network will know the nice "Navigation to the webpage was canceled" screen that is caused by security restrictions.

While there are ways to make CHM work off the network, this is hardly a good choice, because when a user presses the Help Button he wants help and not have to make some funky settings.

Bottom Line: I find CHM absolutely unusable. But with WinHelp not being an option anymore either, I wonder what the alternatives are, especially when it comes to integrate with my Application (i.e. for WinHelp and CHM there are functions that allow you to directly jump to a topic)?

PDF has the disadvantage of requiring the Adobe Reader (or one of the more lightweight ones that not many people use). I could live with that seeing as this is kind of standard nowadays, but can you tell it reliably to jump to a given page/anchor?

HTML files seem to be the best choice, you then just have to deal with different browsers (CSS and stuff).

Edit: I am looking to create my own Help Files. As I am a fan of the "No Setup, Just Extract and Run" Philosophy, i had that problem many times in the past because many of my users will run it off the network, which causes exactly this problem.

So i am looking for a more robust and future-proof way to provide help to my users without having to code a different help system for each application i make.

CHM is a really nice format, but that Security Stuff makes it unusable, as a Help system is supposed to provide help to the user, not to generate even more problems.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

太阳哥哥 2024-07-11 00:28:34

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

因此,相对于选择 chm 或 html 或其他格式的问题的底线是,如果您使用此格式,您不会被锁定为给定的格式,但您可以提供几种用户可以选择的格式,甚至可以添加更多格式随您一起使用,无需额外付费。

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

I use a commercial package called AuthorIT that can generate a number of different formats, such as chm, html, pdf, word, windows help, xml, xhtml, and some others I have never heard of (does dita ring a bell?).
It is a content management system oriented towards the needs of technical documentation writers.
The advantage is that you can use and re-use the same content to build a set of guides, and then generate them in different formats.

So the bottom line relative to the question of choosing chm or html or whatever is that if you are using this you are not locked into a given format, but you can provide several among which the user can choose, and you can even add more formats as you go along, at no extra cost.

If you just have one guide to create it won't be worth your while, but if you have a documentation set to manage then it is the best to my knowledge. Their support is very helpful also.

风启觞 2024-07-11 00:28:33

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

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

If you are doing "just extract and run", you are going to run in security issues. This is especially true if you are users are running Vista (or later). is there a reason why you wanted to avoid packaging your applications inside an installer? Using an installer would alleviate the "external source" problem. You would be able to use .chm files without any problems.

We use InstallAware to create our install packages. It's not cheap, but is very good. If cost is your concern, WIX is open source and pretty robust. WIX does have a learning curve, but it's easy to work with.

平安喜乐 2024-07-11 00:28:33

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

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

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

I think the solution we're going to end up going with for our application is hosting the help files ourselves. This gives us immediate access to the files and the ability to keep them up to date.

What I plan is to have the content loaded into a huge series of XML files, each one containing help for a specific item. This XML would contain links to other XML files. We would use XSLT to display the contents as necessary.

Depending on the licensing, we may build a client-specific XSLT file in order to tailor the look and feel to what they need. We may need to be able to only show help for particular versions of our product as well and that can be done by filtering out stuff in the XSLT.

别闹i 2024-07-11 00:28:31

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

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

Is the question how to generate your own help files, or what is the best help file format?

Personally, I find CHM to be excellent. One of the first things I do when setting up a machine is to download the PHP Manual in CHM format (http://www.php.net/download-docs.php) and add a hotkey to it in Crimson Editor. So when I press F1 it loads the CHM and performs a search for the word my cursor is on (great for quick function reference).

深陷 2024-07-11 00:28:30

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

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

PDF has the disadvantage of requiring the Adobe Reader

I use Foxit Reader on Windows at home and at work. A lot smaller and very quick to open. Very handy when you are wondering what exactly a80000326.pdf is and why it is clogging up your documents folder.

尬尬 2024-07-11 00:28:30

这取决于在线文档对您的产品的重要性,建立良好的文档基础设施可能很复杂,但一旦完成就会得到回报。 我们是这样做的 -

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

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

It depends on how import the online documentation is to your product, a good documentation infrastructure can be complex to establish but once done it pays off. Here is how we do it -

  • Help source DITA compilant XML, stored in SCC (ClearCase).
  • Help editing XMetal
  • Help compilation, customized Open DITA Toolkit, with custom Perl/Java preprocessing
  • Help source cross references applications resources at compile time, .RC files etc
  • Help deliverables from single source, PDF, CHM, Eclipse Help, HTML.
  • Single source repository produces help for multiple products 10+ with thousands of shared topics.

From what you describe I would look at Eclipse Help, its not simple to integrate into .NET or MFC applications, you basically have to do the help mapping to resolve the request to a URL then fire the URL to Eclipse Help wrapper or a browser.

烟沫凡尘 2024-07-11 00:28:29

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

If you don't want to use an installer and you don't want the user to perform any extra steps to allow CHM files over the network, why not fall back to WinHelp? Vista does not include WinHlp32.exe out of the box, but it is freely available as a download for both Vista and Server 2008.

昇り龍 2024-07-11 00:28:28

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

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

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

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

Our software is both distributed locally to the clients and served from a network share. We opted for generating both a CHM file and a set of HTML files for serving from the network. Users starting the program locally use the CHM file, and users getting their program served from a network share has to use the HTML files.

We use Help and Manual and can thus easily produce both types of output from the same source project. The HTML files also contain searching capabilities and doesn't require a web server, so though it isn't an optimal solution, works fine.

So far all the single-file types for Windows seems broken in one way or another:

  • WinHelp - obsoleted
  • HtmlHelp (CHM) - obsoleted on Vista, doesn't work from network share, other than that works really nice
  • Microsoft Help 2 (HXS) - this seems to work right up until the point when it doesn't, corrupted indexes or similar, this is used by Visual Studio 2005 and above, as an example
梦罢 2024-07-11 00:28:27

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

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

都随着操作系统和硬件的改进,问题已经消失了很多年,但问题不断以令人眼花缭乱的种类重复出现,而且已经够了。 我们找到了 chmlib,并决定如果操作系统提供的阅读器停止工作并切换,我们可以永远使用基于此的东西作为简单外部阅读器的转义。

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

I don't like the html option, and actually moved from plain HTML to CHM by compressing and indexing them. Even use them on a handful of non-Windows customers even.
It simply solved the constant little breakage of people putting it on the network (nesting depth limited, strange locking effects), antivirus that died in directories with 30000 html files, and 20 minutes decompression time while installing on an older system, browser safety zones and features, miscalculations of needed space in the installer etc.

And then I don't even include the people that start "correcting" them, 3rd party product with faulty "integration" attempts etc, complaints about slowliness (browser start-up)

We all had waited years for the problems to go away as OSes and hardware improved, but the problems kept recurring in a bedazzling number of varieties and enough was enough. We found chmlib, and decided we could forever use something based on this as escape with a simple external reader, if the OS provided ones stopped working and switched.

Meanwhile we also have an own compiler, so we are MS free future-proof. That doesn't mean we never will change (solutions with local web-servers seem favourite nowadays), but at least we have a choice.

疯到世界奔溃 2024-07-11 00:28:26

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

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

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

HTML would be the next best choice, ONLY IF you would serve them from a public web server. If you tried to bundle it with your app, all the files (and images (and stylesheets (and ...) ) ) would make CHM look like a gift from gods.

That said, when actually bundled in the installation package, (instead of being served over the network), I found the CHM files to work nicely.

OTOH, another pitfall about CHM files: Even if you try to open a CHM file on a local disk, you may bump into the security block if you initially downloaded it from somewhere, because the file could be marked as "came from external source" when it was obtained.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文