解决 WebSphere 和 VisualAge 产品中的帮助问题

“VisualAge 帮助系统”允许显示许多 IBM 软件产品的联机帮助信息。当您从这些产品之一的用户界面中按 F1 键或选择“帮助”菜单项时,应该会打开一个浏览器并显示该产品的帮助。如果您在启动或使用产品的联机帮助时遇到问题,本文档可以帮助您解决这些问题。

“VisualAge 帮助系统”由三个主要组件组成:

在大多数情况下,全部这三个组件都在安装了产品的机器上运行。

1.0 如何入手

要开始解决问题,请执行下面这三个步骤:

  1. 通过阅读 1.1 使用“VisualAge 帮助系统”的产品确定本文档是否能为您提供帮助
  2. 阅读 1.2 特殊注意事项这个摘要,然后阅读该处列示的适用于您的产品或环境的任何章节

  3. 借助 1.3 有何症状?一节来开始实际的问题分析

1.1 使用“VisualAge 帮助系统”的产品

下列 IBM 产品使用 2001 年 2 月发布的“VisualAge 帮助系统”:

如果您使用的是 2000 年 11 月以后发布的 IBM 软件产品,但它不在以上列表中,则可以通过在命令提示符符中输入以下命令:

vahcfg list /f %IMNINSTSRV% | more

并在以产品:开始的行上查找产品名来确定该产品是否使用“VisualAge 帮助系统”。 如果您的产品出现在列表中,则表示它使用“VisualAge 帮助系统”。如果它未出现在列表中,或者,如果您接收到指示不识别该命令的消息,则可与 IBM 支持机构联系以确定您的 IBM 产品是否使用“VisualAge 帮助系统”。

1.2 特殊注意事项

您应当阅读下列各节(如果描述的产品、环境或问题与您的情况相符):

1.3 有何症状?

从产品的“帮助”菜单中,选择“帮助主页”(或产品的相应菜单项)。如果没有“帮助”菜单,则尝试从产品的用户界面的其中一个窗格中按 F1 键。发生了什么情况?

  1. 无任何响应-转至 2.0 尝试启动帮助时无任何响应
  2. 有一个浏览器启动或转至前台,但:
    1. 它不能连接至 localhost:49213-转至 3.0 连接至 localhost:49213 服务器
    2. 它不能连接至远程主机,而您正在使用以远程方式服务的帮助-检查远程主机上的 Web 服务器是否已启动且是否配置正确
    3. 您接收到找不到文件错误-转至 4.0“找不到文件”错误
    4. 您接收到其他消息,指示搜索期间丢失文件,或搜索结果页中有损坏的图像-转至 4.3 其他涉及丢失文件的搜索错误
    5. 您接收到内部服务器错误消息或应用程序错误消息对话框-转至 5.0 内部服务器错误消息
  3. 您接收到产品 xxxxx 是帮助系统未知的这一消息-转至 6.0 重新配置帮助
  4. 您接收到一条消息,要求您使用可以处理框架的浏览器-请将缺省浏览器升级为 Netscape 4.7 或更高版本,或者升级为 Internet Explorer 5 或更高版本。
  5. 帮助正确地显示。

即使帮助正确地显示,也可能会有另外两个问题:

  1. 您想要访问远程机器上的帮助。参见 12.0 在 Windows 服务器上配置帮助系统
  2. 搜索帮助不工作。尝试在搜索输入字段中输入搜索查询。发生了什么情况?
    1. 无任何响应-浏览器挂起,没有返回应答,或长时间没有应答-转至 7.0 执行搜索时的超时问题
    2. 您接收到找不到文件错误-转至 4.0“找不到文件”错误
    3. 您接收到内部服务器错误消息-转至 5.0 内部服务器错误消息
    4. 您接收到包含 rc=73搜索请求是空的的消息-转至 8.0 无用词或 rc=73
    5. 您接收到包含 rc=32 的消息或其他一些搜索错误消息-转至 9.0 其他搜索错误

如果您的问题不是以上之一,请与 IBM 支持机构联系。请访问 http://www.ibm.com/software/ad/support 以获取进一步的信息。 

2.0 尝试启动帮助时无任何响应

注意:本节不适用于 Component Broker 或 WebSphere Business Components。对于 Component Broker,请查看 doc\readme 目录中有关帮助故障诊断的信息。

如果在使用桌面图标启动 VisualAge for Java IDE 时 VisualAge for Java 版本 3.5 无任何响应,则参见 2.1 特殊情况-VisualAge for Java 版本 3.5

如果在尝试启动帮助时无任何响应,首先应确定是否可以从命令行启动帮助。为此,首先需要知道产品的安装目录。在后面的正文中,在您看到 INSTALL_DIR 的任何地方,应当替换为产品的实际安装目录,例如,x:\ibmvjava 或 "x:\Program Files\IBM\VisualAge for Java"。当路径包含空格时,请使用引号将整个路径(INSTALL_DIR 加上任何子目录或文件名)括起来。请执行下列步骤来尝试从命令行启动帮助:

  1. 打开命令提示符窗口。
  2. 转至安装产品的逻辑驱动器,然后转至该驱动器上的目录中。例如,如果产品安装在 "g:\Program Files\IBM\VisualAge for Java" 中,则输入以下命令:
    g:
    cd "\Program Files\IBM\VisualAge for Java"
  3. 转至产品目录下可执行文件 vahelp.exe 所在的目录中。可以通过首先输入以下命令确定该位置:
    dir /s /b vahelp.exe

    如果返回:

    g:\Program Files\IBM\VisualAge for Java\eab\bin\vahelp.exe

    则接着输入:

    cd eab\bin
  4. 发出以下命令(仅当路径包含空格时,引号才是必需的):

如果帮助成功地从命令行启动,并且您可以成功地搜索帮助,则可能是路径的设置方式有问题,这导致产品的用户界面不能连接至帮助系统 DLL。请参见 2.1 特殊情况-VisualAge for Java 3.5,或者,对于其他产品,请尝试卸载并重新安装该产品,这有时能解决这样的问题。

如果您对从命令行启动帮助作为一种解决办法或临时性修订感到满意,可以在桌面上创建一个图标来这样做。参见 11.0 创建一个图标来启动产品帮助

如果未能从命令行装入帮助,或者虽然从命令行装入了帮助但未能从产品中装入帮助,则可能是 Windows 注册表中的浏览器的文件关联设置不正确。参见 16.0 在 Windows 注册表中设置 HTML 文件关联

如果更改文件关联后没有效果,可尝试下列操作来从帮助系统中获取日志文件:

  1. 在文本编辑器(例如“记事本”)中编辑产品帮助配置文件 (INSTALL_DIR\HELP_DIR\CONFIG_FILE) 并将下面这一行添加至文件末尾:
    HTMLHELP_LOG=1
  2. 保存该文件。如果使用的是类似于“写字板”之类的编辑器,请注意保存为纯文本。
  3. 退出并重新启动 IBM 产品。
  4. 按 F1 键或使用“帮助”菜单来尝试从产品中启动帮助。

在 TMP 环境变量所指向的目录中,您应该能看到一个或多个类型为 HTML*.C2T 的文件。这些文件包含关于对帮助系统所作的请求的详细日志信息。您可以将这些文件发给 IBM 支持机构以请他们进行分析。支持请求可能要收费。您也可以尝试自己检查这些文件,以便看看您是否能够确定导致故障的原因。

如果在 TEMP 目录中看不到任何 HTML*.C2T 文件,请再次尝试从命令行调用帮助。如果只能从命令行创建 HTML*.C2T 文件,则该问题与调用帮助的产品相关。如果这两种调用帮助的方法都不能生成日志文件,则是帮助系统本身有问题。在任一种情况下,您都可以与 IBM 支持机构联系。

当您完成后,请记得从产品帮助配置文件中除去 HTMLHELP_LOG=1 这一行,因为进行记录会在您每次请求帮助时生成不必要的日志文件。

如果仍无法通过任何方法启动帮助,请检查产品帮助配置文件是否仍有效。在编辑器中打开 INSTALL_DIR\HELP_DIR\CONFIG_FILE 并验证:

2.1 特殊情况-VisualAge for Java 版本 3.5

对于 VisualAge for Java 版本 3.5,如果不能从 IDE 启动帮助,但可以从命令行启动帮助,则可能是使用了错误的快捷方式来调用 IDE。如果您在桌面上或“开始”菜单中手工创建或编辑 IDE 的快捷方式并从该快捷方式调用 IDE,则可能会发生这种情况。如果您使用的是为版本 3.0 或 3.02 创建的快捷方式,并且您现在使用它来启动版本 3.5,则也可能会发生这种情况。请执行下列步骤来确定是不是这种问题:

  1. 退出任何正在运行的 VisualAge for Java IDE 会话并在最后一个 VisualAge for Java 窗口消失后等待 10 秒钟,以确保程序完成其关闭过程。
  2. 使用“开始”菜单启动 VisualAge for Java IDE(开始 > 程序 > IBM VisualAge for Java Windows 版 V3.5 > IBM VisualAge for Java)。
  3. 在 IDE 中按 F1 键。

如果从“开始”菜单调用 IDE 时帮助能够工作,但从您通常使用的图标或快捷方式调用 IDE 时帮助不能工作,可能是由于该图标或快捷方式指向 VAJ_INSTALL_DIR\ide\program\ide.exe,它可以成功地启动 IDE,但不能支持帮助,因为 PATH 环境变量未指向帮助系统 DLL。可以通过将快捷方式的目标字段编辑为指向 VAJ_INSTALL_DIR\ide\program\ivjenv.bat 来解决此问题。此批处理文件更改 Windows 的环境变量,因此帮助将能够从 IDE 中正确工作。

3.0 连接至 localhost:49213 服务器

如果启动帮助导致浏览器打开或来到前台,但浏览器不能连接至 localhost:49213,则可能是这三种问题:

请依次检查下列每一个子节以解决任何与 Web 服务器或浏览器配置失当相关的可能问题。

3.1 HTTPDL.EXE 没有运行

HTTPDL.EXE 是只支持本地访问的 HTTP 服务器进程。它是 NetQuestion 组件的一部分。它用来为本地浏览器的帮助页面提供帮助。检查进程 HTTPDL.EXE 是否出现在任务列表中。

如果该任务不存在,则表示帮助系统可能无法启动它。首先尝试从命令行调用它,看看是否返回了出错信息:

  1. 转至 NetQuestion 安装目录(参见 15.0 查找 NetQuestion 安装目录

  2. 发出以下命令:
    httpdl -r httpd.cnf

如果此命令返回错误“绑定套接字失败”,则可能是已有一个 HTTPDL.EXE 进程在端口 49213(HTTPDL.EXE 进程使用的 TCP/IP 端口)上运行。如果返回任何其他错误,请与 IBM 支持机构联系。如果此命令在没有发生任何错误的情况下返回,请检查任务列表以确保它正在后台运行。日期为 02/12/2000 或更早的 HTTPDL.EXE 版本在未检测到错误时会锁定命令提示符;之后的版本会继续运行,而不锁定命令提示符。如果您的版本锁定了命令提示符,请按 Ctrl+Break 并发出以下命令来将该进程作为拆离进程启动:

nqdetach httpdl.exe -r httpd.cnf

现在尝试在浏览器中重新装入页面。如果页面能够正确地显示,则表示帮助系统无法启动 HTTP 服务器(或者,对于 Component Broker,表示服务器未设置为在登录时启动)。参见 13.0 自动启动 NetQuestion 服务器

如果该页面仍不能显示,请参见 3.2 HTTPDL.EXE 配置失当3.3 浏览器需要代理覆盖

3.2 HTTPDL.EXE 配置失当

有时,HTTPDL.EXE 使用的配置文件 httpd.cnf 可能会包含不正确的路径信息。请执行下列步骤来验证它的配置是否正确:

  1. 使用开始 > 查找对话框(在 Windows 2000 上,是开始 > 搜索)在本地硬盘驱动器上查找所有名为 HTTPDL.EXE 的文件。验证是否只有一个副本。如果有多个副本,请重命名任何不在 NetQuestion 安装目录中的副本。(重命名这些副本使您可在需要它们时(例如,它们可能是一些其他的 Web 服务器所必需的)进行恢复。)
  2. 编辑出现在 NetQuestion 安装目录中的 httpd.cnf 文件。查找所有包含路径信息的行。以下通常是隐式的行:
    Serverroot    C:\IMNNQ_NT
    Exec    /cgi-bin/*  C:\IMNNQ_NT\*
    Pass    /icons/*    C:\IMNNQ_NT\*
    Pass    /*          C:\IMNNQ_NT\*

    验证指示的路径是否与存储 httpd.cnf 文件的目录相对应。如果不对应,则在上述所有出现中更改它以反映实际路径。

  3. 仍在 httpd.cnf 中,验证下列条目是否存在:
    Hostname localhost
    Port 49213

    如果现有的任何 HostnamePort 行与以上两行不同,则替换为以上两行。

  4. 如果在步骤 2 或 3 中对 httpd.cnf 作了任何更改,则终止 HTTPDL.EXE 进程并再次尝试启动帮助。如果这并不能解决问题,请参见下一节。

3.3 浏览器需要代理覆盖

有时,浏览器不能连接至本地 Web 服务器 HTTPDL.EXE 的原因是它尝试通过代理服务器定位名为 localhost 的机器。此情况通常发生在浏览器是为手工或自动代理配置设置的时候。如果使用手工代理配置,则可以修改浏览器设置以防止浏览器尝试通过代理服务器解析 localhost。如果使用自动代理配置,则您将需要请求自动代理配置文件的所有者添加 127.0.0.1 作为代理服务器上的代理例外。

要确定浏览器是否设置为进行手工代理配置,并在答案为肯定时添加代理覆盖,请执行下列步骤。这些指导用于指示的浏览器版本;如果您使用的别的浏览器版本,则步骤可能不一样:

对于 Netscape 4.7

  1. 从 Netscape Communicator 中,选择 Edit > Preferences
  2. 通过单击左窗格中的 Advanced 条目左边的 + 号将该条目展开。
  3. 选择 Advanced 下面的 Proxies 条目。
  4. 右框架应该会指示是设置为自动代理还是手工代理,或是直接连接至因特网。如果设置为手工代理,则继续执行这组步骤,否则停止。
  5. 选择 Manual proxy configuration 旁边的 View 按钮。
  6. 确保地址 localhost:49213127.0.0.1 都出现在代理例外的列表中。并且,确保它们由逗号分隔而不是由分号分隔。(对于其他版本的 Netscape,确保分隔字符是对话框中标识的字符之一。例如,Netscape 4.7 对话框包含文本 Use commas (,) to separate entries。)进行任何必需的更改并关闭任何对话框,直到您回到浏览器主窗口为止。

对于 Internet Explorer 5.0

  1. 从 Internet Explorer 中,选择工具 > Internet 选项
  2. 连接选项卡中,单击局域网设置
  3. 如果已选中使用代理服务器,则继续执行这组步骤,否则停止。
  4. 如果您看到对于本地地址不使用代理服务器复选框,则务必选择它。
  5. 选择高级
  6. 确保 localhostlocalhost:49213127.0.0.1 这些条目全都出现在代理例外的列表中,并确保它们由分号而不是逗号分隔。进行任何必需的更改并关闭任何对话框,直到您回到主浏览器窗口为止。

您还应当通过添加下面这一行来更新 %SystemRoot%\system32\drivers\etc\hosts 文件:

127.0.0.1     localhost

(如果该文件存在但该行尚不存在的话)。如果更改此值,则可能需要退出并重新启动浏览器才能使更改生效。

如果对浏览器配置或 ...\etc\hosts 文件作了任何更改,则尝试在浏览器中重新装入帮助主页。如果您在尝试连接至 locahost:49213 时仍接收到错误,请与 IBM 支持机构联系。

如果当您尝试查看帮助时无法访问自动代理服务器,则可能是浏览器无法将 localhost 解析为本地地址 127.0.0.1。通过在上面的步骤 4 (Netscape) 或步骤 3 (Internet Explorer) 中更改为直接连接至因特网,可以暂时解决此问题(但代理服务器不可用)。

4.0 “找不到文件”错误

如果您在尝试查看帮助或尝试执行搜索时接收到找不到文件错误,则可能是 NetQuestion 安装目录中丢失了文件。请阅读下列各节以了解更多信息。

4.1 在尝试查看主页或其他帮助时发生“找不到文件”错误

如果您在尝试查看帮助时接收到找不到文件错误,则可能是 vahwebx.exe 不在 NetQuestion 安装目录中。在命令提示符或“Windows 资源管理器”中检查该目录,以验证该文件是否存在。如果该文件存在,则可能是存在与 NetQuestion 本地 Web 服务器配置相关的问题;httpd.cnf 可能指向错误的目录。请参见上面的 3.2 HTTPDL.EXE 配置失当。如果 vahwebx.exe 文件不存在,则可以尝试下列一项或多项:

重新装入浏览器页面。如果帮助现在能够工作,则已解决问题。如果您继续接收到找不到文件错误,请与 IBM 支持机构联系。如果您接收到消息没有为产品 xxxxx 注册帮助,则参见 6.0 重新配置帮助

4.2 在尝试执行搜索时发生“找不到文件”错误

如果您在尝试搜索帮助时接收到找不到文件错误,则可能是未将搜索表单中指定的搜索程序安装在正确的位置中。请执行下列步骤来确定名称和位置:

  1. 在 IBM 产品中,选择帮助 > 搜索以在浏览器窗口中打开搜索表单。
  2. 在浏览器中,查看搜索表单的源。可以这样做:
  3. 在表单源中,搜索字符串 "action="。您应该能看到类似于下列其中行的内容:
    <form action="http://localhost:49213/cgi-bin/ivjsenus.exe"...>
    <form action="http://localhost:49213/cgi-bin/va4sall.exe"...>

    搜索程序的名称是“action=属性”的 "cgi-bin" 后面的部分,即,在上述示例中,是 ivjsenus.exe 或 va4sall.exe。

  4. 验证此文件是否位于 NetQuestion 安装目录中。如果它在那里,但您在执行搜索时继续接收到找不到文件错误,则参见上面的 3.2 HTTPDL.EXE 配置失当。如果此文件丢失,则您可能能够从产品 CD 复制它。在产品 CD 中搜索此搜索程序。如果它存在,则将其复制至 NetQuestion 目录。否则,与 IBM 支持机构联系以获取一个副本。

4.3 其他涉及丢失文件的搜索错误

搜索结果页中还可能会有损坏的图像,或包含消息找不到搜索表单头找不到搜索表单脚。这些错误是由于 NetQuestion 安装目录中丢失其他文件引起的。您可能能够在产品 CD 上找到这些文件,否则可以从 IBM 支持机构获取它们。文件名全都是在搜索表单中指定的。您可以查看搜索表单的源以确定名称。查找下列隐藏的输入字段的 value= 参数:

<input type="hidden" name="header" value="ivjhenus.htm">
<input type="hidden" name="footer" value="ivjfoot.htm">
<input type="hidden" name="stars1" value="ivjstar1.gif">
<input type="hidden" name="stars2" value="ivjstar2.gif">
<input type="hidden" name="stars3" value="ivjstar3.gif">
<input type="hidden" name="stars4" value="ivjstar4.gif">
<input type="hidden" name="stars5" value="ivjstar5.gif">

突出显示的条目用于 VisualAge for Java。用于其他产品的等价条目包含下列各项,它们替换 ivj

5.0 “内部服务器错误”消息

内部服务器错误消息通常指示 Web 服务器上运行的应用程序已崩溃。您可能还会看到一个标题为 program.exe-应用程序错误的 Windows 对话框和一条以 "0xnnnnnnnn" 处的指令引用 "0xnnnnnnnn" 处的内存开头的消息。如果您选择确定关闭此对话框,则浏览器接着会显示内部服务器错误消息。

如果此错误是在搜索操作期间发生的,则可能是产品搜索索引有问题。请尝试为产品重新配置帮助,然后再次输入搜索查询。如果这样不能解决该问题,请与 IBM 支持机构联系。

如果此错误是在正常浏览帮助期间发生的,则可能是存在与 NTFS 文件系统上的目录许可权相关的问题。注销 Windows NT 或 Windows 2000 系统,作为管理员重新登录,并验证 NetQuestion 安装目录和产品帮助目录(根据产品的不同,这是 _INSTALL_DIR\doc 或 INSTALL_DIR\help)中的所有文件和文件夹是否将它们的安全性许可权设置为 Everyone-完全控制。为此:

  1. 启动“Windows 资源管理器”并浏览至您想要检查或更改的目录。
  2. 用鼠标右键单击目录名。
  3. 选择属性,然后选择权限
  4. 确保两个复选框(替换已存在文件的权限和替换子目录的权限)都已选中。
  5. 通过选择添加并遵循指示,为 Everyone 添加一个用户条目(如果尚不存在这样的条目)。
  6. 确保 Everyone 条目至少具有选择性访问 (RX) (R) 访问权,或将访问级别设置为完全控制

如果对许可权作了更改,则关闭这些对话框并尝试重新装入页面。如果不需要更改许可权,或者,如果在您作了更改之后该错误仍然存在,则尝试从 NetQuestion 安装目录中擦除 vahelp.cfg 文件,然后为产品重新配置帮助

如果您仍然看到内部服务器错误消息,请与 IBM 支持机构联系。

6.0 重新配置帮助

在某些情况下,帮助系统可能会错误地配置特定产品的帮助,或者,您可能在尝试修正安装时被迫除去了一些配置信息。通过按照下面的指导进行操作,可以为产品重新配置帮助。在您开始之前,您需要知道:

此过程的第一部分涉及确定帮助是否已配置并且仅仅需要刷新。要确定产品的帮助是否已配置,请在命令提示符中输入以下命令:

vahcfg list /f %IMNINSTSRV% | more

您应该能看到已经为帮助作了配置的一组产品以及每种产品的组件列表。如果您看到其目录与您的产品目录相匹配的产品,请记录下该产品的名称。例如,如果 vahcfg list 的输出包含下列各项:

产品:va400(IBM WebSphere Development Tools for AS/400 帮助系统)
可写的目录:C:\Program Files\IBM\WDT400\help
没有此产品的更新文件
Comp: qadtswin (WebSphere Development Tools for AS/400)
Zip 文件:C:\Program Files\IBM\WDT400\help\qadtswin.zip
索引:va45uadt
...

产品名是 va400。如果您看到您的产品的条目,则可以使用 vahcfg regen 命令重新配置帮助。如果没有看到您的产品的条目,则需要使用 vahcfg install 命令重新配置帮助。这两种情况在本节稍后都有所描述。

6.1 空闲磁盘空间

在运行 vahcfg regen 或 vahcfg install 之前,您还应当确保文档目录所在的磁盘有足够的空闲空间来容纳产品帮助的搜索索引。vahcfg 程序将这些索引从文档目录中的 *.zip 文件中抽取出来,并将它们写至文档目录的子目录中。一般规则是,磁盘上应当至少有与文档目录中的 zip 文件所使用的空间等量的空闲空间。

6.2 使用 vahcfg regen

要运行 vahcfg regen,请发出以下命令:

vahcfg regen /p prodname /f %IMNINSTSRV%

其中,prodname 与您运行 vahcfg list 时记录的产品名相匹配。

6.3 使用 vahcfg install

要运行 vahcfg install,请发出以下命令:

vahcfg install /w docdir /f %IMNINSTSRV%

其中,docdir 是包含产品帮助文件的目录的全路径。如果该目录中包含空格(例如,c:\Program Files\IBM\...),则将整个目录路径括在引号中。

6.4 在运行 vahcfg install 或 vahcfg regen 之后

在安装或重新生成(这可能要花数分钟)之后,请尝试重新装入帮助。如果您尝试校正的问题仍然存在,则执行 6.5 从 vahcfg regen 或 vahcfg install 获取日志文件中的步骤,与 IBM 支持机构联系,并将日志文件转发给 IBM 支持机构。

6.5 从 vahcfg regen 或 vahcfg install 获取日志文件

如果您已尝试使用 vahcfg regen 或 vahcfg install 重新生成或安装产品的帮助,但该尝试未能解决帮助问题,则请尝试下列操作来生成一个日志文件,IBM 支持机构可以使用此文件来进一步地诊断问题:

  1. 在命令提示符中,将环境变量 VAHCFG_LOG 设置为指向一个可写目录中的新文件。例如:
    SET VAHCFG_LOG=c:\config.log
  2. 如果已尝试 vahcfg install 并且有问题,则运行下面这两个命令:
    vahcfg remove /p prodname /f %IMNINSTSRV%
    vahcfg install /w docdir
  3. 如果已尝试 vahcfg regen 并且有问题,则再次运行同一个 vahcfg regen 命令。

然后,您可以向 IBM 支持机构提供生成的日志文件。

注意,vahcfg 的一些早期版本不生成日志文件。不支持日志功能的版本将把所有输出打印至屏幕;支持日志功能的版本将打印一条消息,指示信息的记录位置。

7.0 执行搜索时的超时问题

如果执行的不是最一般的搜索查询,NetQuestion 搜索系统的速度极快。如果您搜索字符串 a* 的匹配,则搜索系统必须查找所有包含至少一个以字母 a 开头的单词的文档,因此这总是要花比较长的时间。但如果您的搜索更为明确,则可以预期搜索结果最多只需几秒钟就会出现。如果搜索似乎非常耗时(例如,超过 1 分钟),则可能是遇到了与在 Windows 2000 系统上使用 Netscape Navigator 4.5 或更高版本相关的问题。(此问题也会在某些 Windows NT 系统上发生。)

在一些 Windows 2000 机器上,存在一个与 Netscape(版本 4.5 至 4.74,并可能包含其他版本)相关的已知问题,此问题可能会导致搜索联机帮助极为缓慢。当从这些版本的 Netscape 提交表单时,Netscape 应用程序会使用机器上的大多数可用处理器周期,直到从远程系统接收到响应为止。(可以通过在这样的搜索期间打开 Windows 的“任务管理器”页并切换至“进程”选项卡,然后单击 CPU 列标题验证这一点。如果您遇到此处描述的问题,netscape.exe 将出现在此列表的顶部,并将使用 97-99% 的 CPU 时间。)

在执行远程搜索时(例如,在 Web 站点上),这种 CPU 使用情况通常并不是一个问题。但是因为产品的搜索程序在您自己的本地机器上运行,Netscape 占用这么多 CPU 时间的这一事实意味着只有非常少的 CPU 时间留给搜索程序执行其搜索时使用。结果是,应该在一秒钟内返回结果的搜索操作在 Windows 2000 上可能要花好几分钟的时间。

在 Windows 2000 上,可以通过在每次提交搜索之后选择另一个非 Netscape 窗口来避免此性能问题。这通常会使 Netscape 在等待响应时停止使用过多的 CPU 周期,在执行此窗口切换之后,搜索结果通常会在一秒钟之内显示出来。在 Windows NT 上这种技术可能也可以发挥作用,虽然没那么一致。

另外,可以使用 Microsoft 的 Internet Explorer 来查看帮助,对于此浏览器,不会发生性能问题。

8.0 无用词或 rc=73

当从浏览器执行帮助系统搜索时,您可能会接收到下列其中一条出错信息:

这会在两种情况下发生:

通常,返回码 73 并不是对完全空白的搜索请求返回的,而仅仅是对只由无用词组成的搜索请求返回。当搜索字符串明显非空白(并且不是纯无用词搜索)时,如果您确实可以重新生成指示“搜索请求为空白”的消息,可能是搜索表单已毁坏。请从产品帮助目录(通常是 INSTALL_DIR\doc 或 INSTALL_DIR\help)中找出搜索表单 hgssrch.htm 和 hgcsrch.htm,并在与 IBM 支持机构联系时将这些表单提供给您的支持代表。

9.0 其他搜索错误

当尝试执行搜索时,您可能会看到其他许多出错信息。如果您遇到的错误是下列其中一项,请在与 IBM 支持机构联系之前尝试建议的操作。

9.1 指定的 NetQuestion 服务器不可用。(rc=33)

原因:帮助客户机无法启动搜索服务(或者,对于 Component Broker,搜索服务未设置为在登录时自动启动)。无论您是在本地机器 (http://localhost:49213) 还是在远程帮助服务器上执行搜索,都可能会发生此错误。 

建议的操作(本地帮助):

参见 3.1 HTTPDL.EXE 没有运行,特别是有关导入自动启动注册表项的那一节,以使搜索服务在您登录时自动启动。要快速地解决问题,可以打开命令提示符并输入:

imnss start server

如果此命令返回包含下面这一行的消息:

搜索服务已启动。

则您应当能够再次执行搜索,而不会发生这个 rc=33 错误。

建议的操作(以远程方式服务的帮助):

服务器的 NetQuestion 搜索过程可能没有运行,原因是该机器已重新引导,并且当前没有任何人登录至该机器。请参见 14.0 在引导时启动 NetQuestion 搜索服务

9.2 未指定搜索目标

原因:搜索程序没有在搜索请求中接收到任何有效索引名。搜索表单可能已损坏,或指定的索引可能不再是已注册的,或是存在与 NetQuestion 安装相关的问题。

建议的操作:首先,从产品帮助目录(INSTALL_DIR\doc 或 INSTALL_DIR\help)中删除全部 hg*.htm 文件。然后尝试为产品重新配置帮助。如果该问题仍然存在,则您可能需要重新安装 NetQuestion,然后再次为产品重新配置帮助。

9.3 找不到搜索表单头 | 找不到搜索表单脚

原因:搜索表单指定了不存在的搜索表单头或搜索表单脚(包含要放在搜索结果上方或下方的 HTML 段的文件)。

建议的操作:请参见 4.2 在尝试执行搜索时发生“找不到文件”错误以获取进一步的信息。

9.4 查询太复杂。重新构建搜索请求。(rc=22)

原因:您输入的搜索查询带有太多的字匹配。搜索引擎不能处理包含超过 1024 个不同的字的匹配的查询。例如,如果输入搜索字符串 "a* b* c* d*"(不带引号),则表示您正在请求任何包含以字母 a、b、c 或 d 中的任何一个开头的字的文档。因为与这些搜索标准相匹配的字非常多,所以搜索引擎不能生成搜索命中的有意义、排序列表,因此它不作尝试。

建议的操作:输入将会生成更少的字命中的搜索请求。

9.5 指定的条件无效

原因:您输入了在逻辑上无效的搜索查询。例如,不认为 "-java" 这个搜索查询(显示所有不包含字 java 的文档)是有效的。

建议的操作:输入包含至少一个不被禁止的术语的搜索请求。

9.6 NetQuestion 配置文件 (NETQ.CFG) 有错误或找不到。(rc=77)

原因:当搜索程序无法读取进行成功的搜索操作所必需的环境变量时,可能会发生此错误。如果已将帮助配置为在除 NetQuestion 的 HTTPDL.EXE Web 服务器之外的 Web 服务器上运行,则可能需要更改 Web 服务器的设置,以确保特定环境变量对搜索 CGI(从搜索表单内的 <form> 标记的 "action=" 参数调用的程序)可见。在一些 Web 服务器上,系统环境变量缺省情况下是隐藏的。搜索 CGI 需要访问的变量是 IMNINSTSRV 和 IMNINST。Netscape Enterprise Server 就是一个在缺省情况下隐藏环境变量的 Web 服务器的示例。

建议的操作:修改 Web 服务器的设置,以手工方式将这些环境变量导出至 Web 服务器的 CGI 应用程序,或使所有本地环境变量对 CGI 可见。在 Netscape Enterprise Server 上,可以通过执行下列步骤做到这一点:

  1. 打开 x:\netscape_enterprise_server_directory\https-server_name\config\obj.conf,其中,netscape_enterprise_server_directory 是 NES 的安装目录,而 server_name 是帮助服务器的名称,此名称是在 NES 安装期间指定的。
  2. 您将需要知道 NetQuestion 环境变量的值。在命令提示符输入:
    set imn

    系统应该会返回 IMNINST 和 IMNINSTSRV 变量的设置,如:

    IMNINST=help
    IMNINSTSRV=C:\IMNNQ_NT
  3. 根据以上结果,将下面这两行添加至 obj.conf 中以 "Init" 伪指令开始的其他行的下面。确保您只在添加 IMNINSTSRV 路径时才使用斜杠 (/):
    Init fn="init-cgi" IMNINSTSRV=c:/imnnq_nt
    Init fn="init-cgi" IMNINST=help
  4. 停止 Netscape Enterprise Server。如果您看到以下警告:

    ###"WARNING: The configuration files have been edited by hand. ###Use this button to load the latest configuration files."

    则单击 Load Configuration files

  5. 启动 Netscape Enterprise Server
  6. 再尝试搜索。

对于其他 Web 服务器,请查阅 Web 服务器文档以获取有关使环境变量对 CGI 应用程序可见的信息。

9.7 其他 NETQ.CFG 错误或 rc=32

原因:当 NetQuestion 不能正确地访问产品索引时,便会发生 rc=32 错误或提及 NETQ.CFG 文件的错误。发生此错误的原因可能是 NetQuestion 安装或特定的索引已损坏,在重新引导后第一次(仅此次)对给定索引执行搜索时,也可能会发生此错误。注意,虽然此错误的一些形式的消息会提到 NETQ.CFG 文件,但此文件实际上并不存在;此错误指的是与其他 NetQuestion 索引配置文件相关的问题。

建议的操作:确定问题的可能原因并进行校正,如下所述:

9.8 索引复位或 rc=76 错误

如果搜索返回 rc=76 出错信息,则表示一个或多个搜索索引可能需要复位。请执行下列步骤来复位索引:

  1. 在浏览器中,查看搜索表单的源。查找所有包含 HTML 标记 <input type=hidden name=indexname value=ixname> 的行
  2. 对于每个 ixname 值,在命令提示符中输入以下命令:
    nqreset ixname
  3. 在复位涉及的所有索引之后,再试搜索。如果搜索错误仍存在或在以后复发,请与 IBM 支持机构联系。

10.0 重新安装 NetQuestion

在一些情况下,唯一能使帮助正确工作的方法是卸载并重新安装 NetQuestion,然后为使用“VisualAge 帮助系统”的产品重新配置帮助。注意,卸载 NetQuestion 可能会除去那些不使用“VisualAge 帮助系统”的产品(如 IBM DB2)所使用的搜索索引,从而可能会导致在重新安装 NetQuestion 后无法为那些产品搜索帮助。您可能需要重新安装有问题的产品以恢复其搜索索引。

在下面的指导中,请从命令提示符发出所有命令。在您开始之前,您需要确定 NetQuestion 安装目录

10.1 对列示的所有产品运行 vahcfg remove

仅当未注册任何索引时,NetQuestion 目录中的 NetQuestion 卸载程序 uninstnq.exe 才会除去 NetQuestion。您可以通过对每一个这样的产品发出 vahcfg remove 命令首先除去由使用“IBM VisualAge 帮助系统”的产品注册的任何索引。执行下列步骤:

  1. 运行 vahcfg list /f %IMNINSTSRV% | more 命令并记录每个产品名(如 6.0 重新配置帮助所述)。
  2. 对于每个产品名,运行 vahcfg remove /p prodname /f %IMNINSTSRV% 命令。

10.2 除去所有剩余索引

在除去所有这样的产品之后,可以通过输入以下命令来检查是否仍然为其他产品注册了任何索引:

imnixlst

如果结果列表包含以 DB2、CXX 或 VAC 开头的条目,则可能有对不使用“VisualAge 帮助系统”的产品(如 DB2、IBM 的 C 和 C++ 编译器或 VisualAge C++ 4.0)注册的索引。如果继续手工卸载 NetQuestion,则您将丢失这些索引,并可能需要重新安装各自的产品才能再次为那些产品搜索帮助。如果仍列示了这样的索引,并且您已经为丢失那些产品的搜索能力或重新安装那些产品做好准备,则可以继续删除剩余的索引,如下所示:

如果列示了名称以 IVJ3、VJ32、IWZ 或 VA45 开始的索引,则可以安全地删除它们,这是因为以后可以使用 vahcfg install 恢复它们。

如果您因为 NetQuestion 错误而无法删除所有剩余索引,则可能需要以手工方式除去 NetQuestion(参见下面的 11.4 节)。

10.3 运行 uninstnq

发出 uninstnq 命令并等待几分钟,直到您注意到 NetQuestion 目录几乎为空白为止。此目录不应包含任何以 imn* 或 imq* 开头的文件。您可能需要等待长达 10 分钟才能让此过程完成。10 分钟后,如果此目录仍包含 imn* 或 imq* 文件,则可能是仍存在对搜索服务注册的索引(在这种情况下,返回到 11.2 节),也可能是 NetQuestion 安装已损坏(转至 11.4 节)。否则,重新引导并转至 11.5 节。

10.4 以手工方式除去 NetQuestion

如果使用 uninstnq.exe 无法除去 NetQuestion,可以以手工方式除去它,如下所示:

  1. 从命令提示符或从开始 > 运行运行 regedit 程序。
  2. 展开注册表项 HKEY_LOCAL_MACHINE\Software\IBM。
  3. 删除 NetQuestion 条目及其所有子条目。
  4. 从 PATH 环境变量中除去 NetQuestion 目录名。
  5. 除去 IMNINSTSRV 环境变量。
  6. 当 NetQuestion 目录是当前目录时,在命令提示符中输入以下命令可从该目录中删除所有与这些通配符说明相匹配的文件:
    del http*.* 302.* 404.* 500.* im*.* nq*.*
  7. 从“资源管理器”中删除 "instance" 子目录,或通过输入以下命令删除它:
    rmdir /s /q instance
  8. 重新引导。

要更改或除去环境变量,请执行以下特定于平台的步骤:

10.5 重新安装 NetQuestion

要重新安装 NetQuestion,您将需要 IBM 支持机构向您提供的产品 CD 或 NetQuestion 安装 zip 文件。下列产品在它们的产品 CD 上有 NetQuestion 的可安装副本:

对于其他产品,可以通过搜索名为 ntq_sbcs.iss 的文件来确定 CD 上是否有 NetQuestion 的可安装副本。包含此文件的目录应该会包含一个 setup.exe 文件,该文件可以启动 NetQuestion 安装。

如果您从 IBM 接收到安装 zip 文件,将其 unzip 到一个临时目录中。

在获取 NetQuestion 的可安装副本之后,请执行下列步骤:

  1. 在“资源管理器”中双击 setup.exe 来启动它,也可以打开命令提示符、转至包含 NetQuestion 安装代码的目录并输入 setup 来启动它。
  2. 选择完全安装。
  3. 覆盖缺省目录以指向先前安装 NetQuestion 的目录。如果您覆盖缺省目录并指向一个新目录,应确保新目录名最多只有 8 个字符,不包含空格,并且位于驱动器的根目录中。这样做可降低将来发生帮助问题的可能性。 
  4. 在安装完成后,重新引导。
  5. 如果旧的 NetQuestion 目录与新的 NetQuestion 目录不同,应将搜索表单头、搜索表单脚、.gif 文件、搜索程序和帮助系统文件 (vah*.exe,vahwebx.cat) 从旧目录复制到新目录中。有关这些文件的详情,请参见 4.0“找不到文件”错误

10.6 为已安装的产品重新配置帮助

对于您以手工方式从帮助系统中除去的每个产品(使用 vahcfg remove,如 11.1 节所示),运行 vahcfg install,如 6.0 重新配置帮助所述。现在,您应该能够浏览和搜索产品帮助了。如果仍有错误,则请检查本文档的其他各节以了解可能的解决方案,或与 IBM 支持机构联系。

11.0 创建用于启动产品帮助的图标

如果不能从产品的用户界面中启动帮助,则可以创建一个图标以通过双击该图标来启动帮助(这样,您至少可以在解决问题的同时使用帮助)。

注意事项

  1. 对于 Component Broker,“开始”菜单已包含用于启动产品帮助的 Component Broker 联机书库的条目,本节中的信息不适用。
  2. 对于 Websphere Development Tools for AS/400,“开始”菜单已包含一组用于启动产品帮助的条目(开始-程序文件-IBM Websphere Development Tools for AS/400-文档),但您也可以使用下面描述的方法创建您自己的桌面图标。
  3. 对于 VisualAge TPF for Windows NT,在以本地方式安装了帮助的工作站上,“开始”菜单已包含用于启动产品帮助的条目。仅当您选择以远程方式访问帮助时,或者您想将图标添加至桌面并将其放在“开始”菜单上时,才应执行下列步骤。

可以创建用于启动产品帮助的快捷方式,如下所示:

  1. 在任务栏中,单击鼠标右按钮并选择最小化所有窗口
  2. 在桌面上的空白位置处,单击鼠标右按钮并选择新建-快捷方式
  3. 创建快捷方式对话框中,单击浏览以定位产品安装目录。
  4. 在此目录或它的其中一个子目录中查找 vahelp.exe 文件。在 VisualAge for Java 中,该文件位于 eab\bin 目录中。
  5. 双击 vahelp.exe 文件。在创建快捷方式对话框中,命令行输入区现在应该显示了 vahelp.exe 的全路径(如果该路径包含空格,则会括在引号中)。
  6. 编辑命令行输入区并在行尾添加以下内容(包含前导空格):
    instance "INSTALL_DIR\DOC_DIR\CONFIG_FILE" open index.htm

    其中 INSTALL_DIR 是安装有该产品的目录,DOC_DIR 通常是文档或帮助,而 CONFIG_FILE 是产品帮助配置文件的名称 (对于 VisualAge for Java 是 ivjhlp.cfg,参见 2.0 尝试启动帮助时无任何响应以获取有关确定其他产品的目录和配置文件名的信息)。如果配置文件的全路径包含空格,则务必将该路径括在引号中。

  7. 单击下一步
  8. 为快捷方式输入名称,例如“IBM VisualAge for Java 联机帮助”。
  9. 单击完成
  10. 在桌面上双击创建的快捷方式以确保它能够工作。
  11. 要更改快捷方式图标的外观,请在该快捷方式上单击鼠标右键并选择属性,然后选择快捷方式选项卡,选择更改图标并浏览可用图标的列表或文件系统以获取新图标。

可以将创建的图标添加至“开始”菜单,方法是在该图标上单击鼠标右键,从弹出菜单中选择复制,然后在“Windows 资源管理器”中顺着 Windows 安装目录往下浏览,在 ...\Profiles\All Users\Start Menu 下面,将该图标粘贴到该目录或其中的适当子目录中。

12.0 在 Windows 服务器上配置帮助系统

您可以在 Windows NT 或 Windows 2000 Web 服务器上安装并配置帮助系统,以使组织中的其他成员可以通过网络查看和搜索联机帮助,而不必使用在他们的工作站上安装的 NetQuestion 和帮助系统代码。

产品注意事项

  1. 对于 VisualAge COBOL 和 VisualAge TPF,用户可以选择不以本地方式安装 NetQuestion 或帮助系统。对于其他产品,用户可以通过只执行 6.0 重新配置帮助10.0 重新安装 NetQuestion 这两节中的除去步骤来除去本地副本。
  2. 对于 VisualAge TPF,产品附带有内置的用于为服务器传递配置帮助的实用程序。如果是从产品 CD 上的 setup.exe 进行安装,则会询问您网络上的其他用户是否将以远程方式访问帮助。请回答。如果已从 Web 下载帮助软件包,则运行 insthelp.exe。

要执行这种网络安装,必须在服务器上安装 Web 服务器软件,如 Microsoft Peer Web Services (PWS) 或 Microsoft IIS。Web 服务器应该有一个 scripts 目录。(在 PWS 和 IIS 中,scripts 目录通常位于 x:\inetpub 下面。)在安装服务器软件之后,请执行下列步骤:

  1. 在服务器上安装 IBM 软件产品。
  2. 将下列文件从 NetQuestion 目录复制至 x:\inetpub\scripts 目录(如果它们存在于 NetQuestion 目录中的话):
    vahwebx.exe
    vahwebx.cat
    vahelp.cfg
    *foot.htm
    *head.htm
    *henus.htm

    前三个文件是必需的;对于后几个文件,如果它们存在,则应复制它们,但如果它们不存在于 NetQuestion 目录中,则 x:\inetpub\scripts 目录中也应该不需要它们。

  3. 编辑 imnmap.dat 文件,此文件在 %IMNINSTSRV%\instance\help\data\ 目录中。此文件包含每个索引的 Web 地址的起始部分。请将出现的所有子串 http://localhost:49213/cgi-bin 都更改为具有 http://server.city.domain.organization/scripts 格式(如 http://cobweb.stl.ibm.com/scripts)。此项更改会使搜索命中生成一个用于获取远程(非 localhost)Web 地址的链接,从而用户可从任何计算机访问这些链接。
  4. 编辑下列文件(它们创建于产品的帮助目录中):hgssrch.htm 和 hgcsrch.htm。将 http://localhost:49213/cgi-bin 更改为 http://server.city.domain.organization/scripts 格式。
  5. 将搜索表单中指定的搜索 CGI(例如,iwzihenes.exe、ivjsenus.exe 或 va4sall.exe)从 NetQuestion 目录复制至 x:\inetpub\scripts 目录。
  6. *star*.gif 复制至 x:\inetpub\wwwroot 下面的新 icons 子目录中。
  7. 对于 Component Broker,将 VABHELP 环境变量的设置由 http://localhost:49213/cgi-bin 更改为 http://server.city.domain.organization/scripts 格式。对于除 Component Broker 之外的产品,让每个用户编辑他们的产品配置文件(他们的产品帮助目录中的 *.cfg)并将下列条目更改为显示的值:

HTML_HOSTNAME=server.city.domain.organization
CGI_BIN_DIR=scripts
START_LITE_DAEMON=0
START_NETQ_DAEMON=0

然后,用户应该可以只要在 IBM 应用程序中按一下 F1 键或选择“帮助”菜单项,就可访问基于服务器的帮助。他们也可以使用以下 URL 来访问帮助:

http://YourHostname/scripts/vahwebx.exe/help/prodname/Extract/0/index.htm

其中,prodname 是:

以后,如果对服务器系统运行 vahcfg installvahcfg regen,则需要再次编辑上面的步骤 3 中的映射文件。

在用户将他们的产品帮助配置文件修改为指向服务器之后,他们可以安全地运行以下命令来从他们的产品帮助目录中删除所有的 *.toc、*.htm 和 *.zip 文件以及搜索索引文件:

vahcfg remove /p prodname /f %IMNINSTSRV%

他们也可以简单地以手工方式删除 *.toc、*.htm 和 *.zip 文件。但是此方法不会删除产品帮助目录下面的索引目录,因此,还将需要以手工方式删除这些目录。

13.0 自动启动 NetQuestion 服务器

如果您是在联网帮助配置中配置服务器,请参见 14.0 在引导时启动 NetQuestion 搜索服务器,而不是阅读本节。

在系统上设置两个注册表项,可以将 HTTP 和搜索服务器设置为在登录时自动启动。要设置这些条目,请执行下列步骤:

  1. 使用文本编辑器(如“记事本”)创建名为 NetQuestionAutoStart.reg 的文件。 输入以下文本(使用复制和粘贴):
    REGEDIT4
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
    "IMNNQ"="nqdetach.exe imnss.exe start server"
    "IMNNQ NetQ Web Server"="nqdetach.exe httpdl.exe -r %IMNINSTSRV%\\httpd.cnf"
  2. 将版本中的字符串 %IMNINSTSRV% 更改为 NetQuestion 安装目录的值。
  3. 保存该文件。
  4. 从“Windows 资源管理器”中双击 NetQuestionAutoStart.reg。

这将把两个条目导入到注册表中,因此,在您下次登录时(或在 Windows 95、Windows 98 或 Windows ME 上重新引导时),服务器应该会自动启动。

14.0 在引导时启动 NetQuestion 搜索服务

如果正在使用联网帮助配置(在此配置中,帮助是从服务器传递的,而不是从您自己的机器传递的),您在远程机器上执行搜索时可能会遇到问题。当 NetQuestion 的搜索守护程序设置为自动启动时(在产品安装期间设置,或在您执行了 13.0 自动启动 NetQuestion 服务器中的步骤之后设置),在用户登录到服务器之前,该守护程序实际上并未启动。 这意味着在系统重新引导之后,在该机器的用户第一次登录之前,搜索守护程序并没有运行。但您可以使用 Windows 计划任务在引导时启动搜索守护程序。本节中的指示信息适用于为帮助提供服务的机器。

注意:如果您使用的不是网络帮助配置,则无需执行本节中的步骤。

在您开始之前,您应该确定 NetQuestion 安装目录。您可能还想执行一些手工注册表清理。注册表可能包含用于在登录时启动 NetQuestion 搜索守护程序的条目。如果将要在引导时启动守护程序,此注册表项是不必要的。要清理注册表:

  1. 从“开始”菜单中,选择运行
  2. 输入 regedit 并单击确定
  3. 跟随树结构到 HKEY_LOCAL_MACHINE - SOFTWARE - Microsoft - Windows - CurrentVersion - Run
  4. 在 Run 文件夹的右窗格中,选择并删除以下键:
  5. 如果您将不会在服务器上直接访问帮助,还可以除去 NetQuestion HTTP 服务器自动启动条目。为此,可选择并删除以下键:
  6. 关闭注册表编辑器。

现在,您可以告诉 Windows 在引导时启动服务器了。首先,在作为帮助服务器的机器上检查是否已安装了 Microsoft 的“Windows 计划任务”。

  1. 打开“Windows 资源管理器”或“NT 资源管理器”。
  2. 检查“我的电脑”文件夹的子文件夹。如果您看到与本地和网络驱动器一起,还有一个标题为“计划任务”的文件夹,则表示机器上已安装“Windows 计划任务”。跳至步骤 5。
  3. 如果机器上未安装“Windows 计划任务”,需要安装它。“Windows 计划任务”与 Internet Explorer 捆绑在一起。可以在“附加的 Explorer 增强功能”类别中找到它,它是一个您需要安装的附加组件。将组件添加至 Internet Explorer 的方法视 Internet Explorer 的版本以及您使用的 Windows 的版本的不同而有所变化。有关详情,请查看 http://support.microsoft.com/support/kb/articles/Q171/2/29.ASP 上的 "How to Add and Remove Internet Explorer Components" 文档。
  4. 安装“计划任务”程序后,请在得到提示时进行重新引导,然后打开“我的电脑”。

要在帮助服务器上将“NetQuestion 搜索服务器”设置为在引导时启动:

  1. 在“计划任务”文件夹中,单击添加任务计划
  2. “任务计划向导”打开。单击下一步继续。
  3. 从列表中选择任意一个程序(以后可以更改)并单击下一步
  4. 对任务命名。例如,输入“NetQuestion 搜索服务器”。
  5. 选择计算机启动时单选按钮并单击下一步
  6. 输入将拥有该进程的用户(例如,服务器管理员)的用户名并根据要求输入他们的密码。单击下一步
  7. 选择在单击“完成”时,打开此任务的高级属性复选框。
  8. 单击完成
  9. “NetQuestion 搜索服务器属性”页打开。在“任务”选项卡下面,将运行字段更改为 NQ_DIR\imnss.exe start server
    其中,NQ_DIR 是 NetQuestion 安装目录。
  10. 开始位置字段中,输入 NetQuestion 安装目录。
  11. 确保已选择已启用复选框。
  12. 设置选项卡下面,取消选择如超出 xxx 小时 xxx 分钟后,停止任务

注意:帮助服务器重新引导后,在登录屏幕出现之后,可能要经过整整一分钟或更长的时间 Windows 才会启动搜索服务器。

15.0 查找 NetQuestion 安装目录

通过打开命令提示符并输入以下命令来确定 NetQuestion 安装目录的位置:

set IMNINSTSRV

返回的目录便是 NetQuestion 安装目录。如果未设置该变量,可以通过查看 Windows 的注册表来确定安装目录。在命令提示符中输入 regedit 并将注册表项展开至以下键:HKEY_LOCAL_MACHINE\SOFTWARE\IBM\NetQuestion\CurrentVersion\Installation Directory。该键的 "Directory" 条目应指向 NetQuestion 安装目录。

在 Windows 95、Windows 98 和 Windows ME 上,如果未设置 IMNINSTSRV 环境变量,但您可以从注册表中找到该目录,可能需要编辑 autoexec.bat 文件。(如果在 Windows Me 上遇到这种情况,则参见 17.0 与 Windows Me 相关的特殊注意事项。)NetQuestion 安装过程应该已修改了 autoexec.bat,添加了一条用于调用存储在 NetQuestion 目录中的 imnenv.bat 批处理文件的命令。添加的命令应类似于:

if exist _NETQ_DIR_\imnenv.bat call _NETQ_DIR_\imnenv.bat

如果没有这行,或 _NETQ_DIR_ 指向错误的目录,应添加带有正确的 NetQuestion 目录的行。还应当验证正在 autoexec.bat 中调用的 imnenv.bat 批处理文件实际存在,以及包含的条目是指向当前目录而不是其他非 NetQuestion 目录。imnenv.bat 的内容应该是:

@echo off
set IMNINSTSRV=_NETQ_DIR_
set IMNINST=help
set PATH=PATH;%IMNINSTSRV%

16.0 在 Windows 注册表中设置 HTML 文件关联

如果无法从浏览器或命令行启动帮助,则可能是 HTML 文件的文件关联设置不正确。“帮助系统”客户机代码使用注册表项来确定基于这些文件关联的缺省系统浏览器。可使用注册表编辑器来检查文件关联:

  1. 从“开始”菜单,选择运行
  2. 在“运行”对话框中输入 regedit
  3. 在注册表编辑器中展开 HKEY_CLASSES_ROOT
  4. 应该会看到一个条目 .htm。此条目的缺省值应为 "NetscapeMarkup"(如果 Netscape 是缺省浏览器的话) 或 "htmlfile"(如果 Internet Explorer 是缺省浏览器的话)。

如果未看到这样的条目,可按下列步骤添加此条目:

  1. 启动想要注册为缺省系统浏览器的浏览器。
  2. 如果浏览器显示一个对话框,询问您是否想让其成为缺省浏览器,回答是。否则, 可将浏览器设置为下一次启动时再询问您:

    对于 Netscape Communicator:

    1. 退出所有 Netscape 窗口。
    2. 查找用户首选文件 prefs.js。这通常是 Netscape 产品安装目录下的一个目录。典型路径为 Netscape_Installation_Directory\users\username\prefs.js, 其中 username 是“缺省值”或登录 Windows 时使用的名称。
    3. 使用文本文件编辑器来编辑该文件并除去下面这一行:
      user_pref("browser.wfe.ignore_def_check", true);
    4. 保存文件(如果使用“写字板”的话,应确保将其保存为文本文件)。
    5. 重新启动 Netscape 并将 Netscape 注册为缺省浏览器。

    对于 Internet Explorer:

    1. 定位选项Internet 选项菜单项。 根据您正在使用的 Explorer 版本的不同,您可以从“工具”、“文件”或“查看”菜单访问浏览器选项。
    2. 选择对话框的程序选项卡。
    3. 选择检查 Internet Explorer 是否为默认的浏览器复选框。
    4. 退出 Internet Explorer。
    5. 重新启动 Internet Explorer 并将 Internet Explorer 注册为缺省浏览器。

17.0 与 Windows Me 相关的特殊注意事项

如果您使用的是 Windows Me,对 autoexec.bat 所作的用于装入 NetQuestion 环境变量的更改即使在重新引导后也不会生效;在重新引导后,这些更改可能会消失。这将导致 NetQuestion 环境变量仍处于未定义状态,而这种状态会导致下列类型的故障:

在重新引导之后,您可以通过检查是否正确地设置了环境变量来确定这是否是帮助问题的原因。如果仍未设置环境变量,则可以使用 Windows 系统目录中的 msconfig.exe 程序来进行下列环境更改:

18.0 与 Component Broker 相关的特殊注意事项

Component Broker 不使用“VisualAge 帮助系统”的客户机部分,即从用户界面中的 F1 键或“帮助”菜单操作启动帮助的部分。这有两点重要的含义:

Component Broker 在 doc\readme 目录中提供了有关帮助故障诊断的其他信息。

19.0 与 DBCS 系统相关的特殊注意事项

在已安装的帮助是部分或完全使用简体中文(zh_CN 语言环境)、繁体中文 (zh_TW)、韩国语 (ko_KR) 或日语 (ja_JP) 编写的系统上,您需要更改 vahcfg 和 NetQuestion 命令,如下所示:

因为 NetQuestion 将不同的可执行文件和服务器用于它的单字节和双字节搜索系统,所以这些更改是必需的。