“VisualAge 帮助系统”允许显示许多 IBM 软件产品的联机帮助信息。当您从这些产品之一的用户界面中按 F1 键或选择“帮助”菜单项时,应该会打开一个浏览器并显示该产品的帮助。如果您在启动或使用产品的联机帮助时遇到问题,本文档可以帮助您解决这些问题。
“VisualAge 帮助系统”由三个主要组件组成:
在大多数情况下,全部这三个组件都在安装了产品的机器上运行。
要开始解决问题,请执行下面这三个步骤:
阅读 1.2 特殊注意事项这个摘要,然后阅读该处列示的适用于您的产品或环境的任何章节
下列 IBM 产品使用 2001 年 2 月发布的“VisualAge 帮助系统”:
如果您使用的是 2000 年 11 月以后发布的 IBM 软件产品,但它不在以上列表中,则可以通过在命令提示符符中输入以下命令:
vahcfg list /f %IMNINSTSRV% | more
并在以产品:开始的行上查找产品名来确定该产品是否使用“VisualAge 帮助系统”。 如果您的产品出现在列表中,则表示它使用“VisualAge 帮助系统”。如果它未出现在列表中,或者,如果您接收到指示不识别该命令的消息,则可与 IBM 支持机构联系以确定您的 IBM 产品是否使用“VisualAge 帮助系统”。
您应当阅读下列各节(如果描述的产品、环境或问题与您的情况相符):
从产品的“帮助”菜单中,选择“帮助主页”(或产品的相应菜单项)。如果没有“帮助”菜单,则尝试从产品的用户界面的其中一个窗格中按 F1 键。发生了什么情况?
即使帮助正确地显示,也可能会有另外两个问题:
如果您的问题不是以上之一,请与 IBM 支持机构联系。请访问 http://www.ibm.com/software/ad/support 以获取进一步的信息。
注意:本节不适用于 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 加上任何子目录或文件名)括起来。请执行下列步骤来尝试从命令行启动帮助:
g: cd "\Program Files\IBM\VisualAge for Java"
dir /s /b vahelp.exe
如果返回:
g:\Program Files\IBM\VisualAge for Java\eab\bin\vahelp.exe
则接着输入:
cd eab\bin
如果帮助成功地从命令行启动,并且您可以成功地搜索帮助,则可能是路径的设置方式有问题,这导致产品的用户界面不能连接至帮助系统 DLL。请参见 2.1 特殊情况-VisualAge for Java 3.5,或者,对于其他产品,请尝试卸载并重新安装该产品,这有时能解决这样的问题。
如果您对从命令行启动帮助作为一种解决办法或临时性修订感到满意,可以在桌面上创建一个图标来这样做。参见 11.0 创建一个图标来启动产品帮助。
如果未能从命令行装入帮助,或者虽然从命令行装入了帮助但未能从产品中装入帮助,则可能是 Windows 注册表中的浏览器的文件关联设置不正确。参见 16.0 在 Windows 注册表中设置 HTML 文件关联。
如果更改文件关联后没有效果,可尝试下列操作来从帮助系统中获取日志文件:
在 TMP 环境变量所指向的目录中,您应该能看到一个或多个类型为 HTML*.C2T 的文件。这些文件包含关于对帮助系统所作的请求的详细日志信息。您可以将这些文件发给 IBM 支持机构以请他们进行分析。支持请求可能要收费。您也可以尝试自己检查这些文件,以便看看您是否能够确定导致故障的原因。
如果在 TEMP 目录中看不到任何 HTML*.C2T 文件,请再次尝试从命令行调用帮助。如果只能从命令行创建 HTML*.C2T 文件,则该问题与调用帮助的产品相关。如果这两种调用帮助的方法都不能生成日志文件,则是帮助系统本身有问题。在任一种情况下,您都可以与 IBM 支持机构联系。
当您完成后,请记得从产品帮助配置文件中除去 HTMLHELP_LOG=1 这一行,因为进行记录会在您每次请求帮助时生成不必要的日志文件。
如果仍无法通过任何方法启动帮助,请检查产品帮助配置文件是否仍有效。在编辑器中打开 INSTALL_DIR\HELP_DIR\CONFIG_FILE 并验证:
对于 VisualAge for Java 版本 3.5,如果不能从 IDE 启动帮助,但可以从命令行启动帮助,则可能是使用了错误的快捷方式来调用 IDE。如果您在桌面上或“开始”菜单中手工创建或编辑 IDE 的快捷方式并从该快捷方式调用 IDE,则可能会发生这种情况。如果您使用的是为版本 3.0 或 3.02 创建的快捷方式,并且您现在使用它来启动版本 3.5,则也可能会发生这种情况。请执行下列步骤来确定是不是这种问题:
如果从“开始”菜单调用 IDE 时帮助能够工作,但从您通常使用的图标或快捷方式调用 IDE 时帮助不能工作,可能是由于该图标或快捷方式指向 VAJ_INSTALL_DIR\ide\program\ide.exe,它可以成功地启动 IDE,但不能支持帮助,因为 PATH 环境变量未指向帮助系统 DLL。可以通过将快捷方式的目标字段编辑为指向 VAJ_INSTALL_DIR\ide\program\ivjenv.bat 来解决此问题。此批处理文件更改 Windows 的环境变量,因此帮助将能够从 IDE 中正确工作。
如果启动帮助导致浏览器打开或来到前台,但浏览器不能连接至 localhost:49213,则可能是这三种问题:
请依次检查下列每一个子节以解决任何与 Web 服务器或浏览器配置失当相关的可能问题。
HTTPDL.EXE 是只支持本地访问的 HTTP 服务器进程。它是 NetQuestion 组件的一部分。它用来为本地浏览器的帮助页面提供帮助。检查进程 HTTPDL.EXE 是否出现在任务列表中。
如果该任务不存在,则表示帮助系统可能无法启动它。首先尝试从命令行调用它,看看是否返回了出错信息:
转至 NetQuestion 安装目录(参见 15.0 查找 NetQuestion 安装目录)
如果此命令返回错误“绑定套接字失败”,则可能是已有一个 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 浏览器需要代理覆盖。
有时,HTTPDL.EXE 使用的配置文件 httpd.cnf 可能会包含不正确的路径信息。请执行下列步骤来验证它的配置是否正确:
Serverroot C:\IMNNQ_NT Exec /cgi-bin/* C:\IMNNQ_NT\* Pass /icons/* C:\IMNNQ_NT\* Pass /* C:\IMNNQ_NT\*
验证指示的路径是否与存储 httpd.cnf 文件的目录相对应。如果不对应,则在上述所有出现中更改它以反映实际路径。
Hostname localhost Port 49213
如果现有的任何 Hostname 或 Port 行与以上两行不同,则替换为以上两行。
有时,浏览器不能连接至本地 Web 服务器 HTTPDL.EXE 的原因是它尝试通过代理服务器定位名为 localhost 的机器。此情况通常发生在浏览器是为手工或自动代理配置设置的时候。如果使用手工代理配置,则可以修改浏览器设置以防止浏览器尝试通过代理服务器解析 localhost。如果使用自动代理配置,则您将需要请求自动代理配置文件的所有者添加 127.0.0.1 作为代理服务器上的代理例外。
要确定浏览器是否设置为进行手工代理配置,并在答案为肯定时添加代理覆盖,请执行下列步骤。这些指导用于指示的浏览器版本;如果您使用的别的浏览器版本,则步骤可能不一样:
对于 Netscape 4.7:
对于 Internet Explorer 5.0:
您还应当通过添加下面这一行来更新 %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) 中更改为直接连接至因特网,可以暂时解决此问题(但代理服务器不可用)。
如果您在尝试查看帮助或尝试执行搜索时接收到找不到文件错误,则可能是 NetQuestion 安装目录中丢失了文件。请阅读下列各节以了解更多信息。
如果您在尝试查看帮助时接收到找不到文件错误,则可能是 vahwebx.exe 不在 NetQuestion 安装目录中。在命令提示符或“Windows 资源管理器”中检查该目录,以验证该文件是否存在。如果该文件存在,则可能是存在与 NetQuestion 本地 Web 服务器配置相关的问题;httpd.cnf 可能指向错误的目录。请参见上面的 3.2 HTTPDL.EXE 配置失当。如果 vahwebx.exe 文件不存在,则可以尝试下列一项或多项:
重新装入浏览器页面。如果帮助现在能够工作,则已解决问题。如果您继续接收到找不到文件错误,请与 IBM 支持机构联系。如果您接收到消息没有为产品 xxxxx 注册帮助,则参见 6.0 重新配置帮助。
如果您在尝试搜索帮助时接收到找不到文件错误,则可能是未将搜索表单中指定的搜索程序安装在正确的位置中。请执行下列步骤来确定名称和位置:
<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。
搜索结果页中还可能会有损坏的图像,或包含消息找不到搜索表单头或找不到搜索表单脚。这些错误是由于 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:
内部服务器错误消息通常指示 Web 服务器上运行的应用程序已崩溃。您可能还会看到一个标题为 program.exe-应用程序错误的 Windows 对话框和一条以 "0xnnnnnnnn" 处的指令引用 "0xnnnnnnnn" 处的内存开头的消息。如果您选择确定关闭此对话框,则浏览器接着会显示内部服务器错误消息。
如果此错误是在搜索操作期间发生的,则可能是产品搜索索引有问题。请尝试为产品重新配置帮助,然后再次输入搜索查询。如果这样不能解决该问题,请与 IBM 支持机构联系。
如果此错误是在正常浏览帮助期间发生的,则可能是存在与 NTFS 文件系统上的目录许可权相关的问题。注销 Windows NT 或 Windows 2000 系统,作为管理员重新登录,并验证 NetQuestion 安装目录和产品帮助目录(根据产品的不同,这是 _INSTALL_DIR\doc 或 INSTALL_DIR\help)中的所有文件和文件夹是否将它们的安全性许可权设置为 Everyone-完全控制。为此:
如果对许可权作了更改,则关闭这些对话框并尝试重新装入页面。如果不需要更改许可权,或者,如果在您作了更改之后该错误仍然存在,则尝试从 NetQuestion 安装目录中擦除 vahelp.cfg 文件,然后为产品重新配置帮助。
如果您仍然看到内部服务器错误消息,请与 IBM 支持机构联系。
在某些情况下,帮助系统可能会错误地配置特定产品的帮助,或者,您可能在尝试修正安装时被迫除去了一些配置信息。通过按照下面的指导进行操作,可以为产品重新配置帮助。在您开始之前,您需要知道:
此过程的第一部分涉及确定帮助是否已配置并且仅仅需要刷新。要确定产品的帮助是否已配置,请在命令提示符中输入以下命令:
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 命令重新配置帮助。这两种情况在本节稍后都有所描述。
在运行 vahcfg regen 或 vahcfg install 之前,您还应当确保文档目录所在的磁盘有足够的空闲空间来容纳产品帮助的搜索索引。vahcfg 程序将这些索引从文档目录中的 *.zip 文件中抽取出来,并将它们写至文档目录的子目录中。一般规则是,磁盘上应当至少有与文档目录中的 zip 文件所使用的空间等量的空闲空间。
要运行 vahcfg regen,请发出以下命令:
vahcfg regen /p prodname /f %IMNINSTSRV%
其中,prodname 与您运行 vahcfg list 时记录的产品名相匹配。
要运行 vahcfg install,请发出以下命令:
vahcfg install /w docdir /f %IMNINSTSRV%
其中,docdir 是包含产品帮助文件的目录的全路径。如果该目录中包含空格(例如,c:\Program Files\IBM\...),则将整个目录路径括在引号中。
在安装或重新生成(这可能要花数分钟)之后,请尝试重新装入帮助。如果您尝试校正的问题仍然存在,则执行 6.5 从 vahcfg regen 或 vahcfg install 获取日志文件中的步骤,与 IBM 支持机构联系,并将日志文件转发给 IBM 支持机构。
如果您已尝试使用 vahcfg regen 或 vahcfg install 重新生成或安装产品的帮助,但该尝试未能解决帮助问题,则请尝试下列操作来生成一个日志文件,IBM 支持机构可以使用此文件来进一步地诊断问题:
然后,您可以向 IBM 支持机构提供生成的日志文件。
注意,vahcfg 的一些早期版本不生成日志文件。不支持日志功能的版本将把所有输出打印至屏幕;支持日志功能的版本将打印一条消息,指示信息的记录位置。
如果执行的不是最一般的搜索查询,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 来查看帮助,对于此浏览器,不会发生性能问题。
当从浏览器执行帮助系统搜索时,您可能会接收到下列其中一条出错信息:
这会在两种情况下发生:
通常,返回码 73 并不是对完全空白的搜索请求返回的,而仅仅是对只由无用词组成的搜索请求返回。当搜索字符串明显非空白(并且不是纯无用词搜索)时,如果您确实可以重新生成指示“搜索请求为空白”的消息,可能是搜索表单已毁坏。请从产品帮助目录(通常是 INSTALL_DIR\doc 或 INSTALL_DIR\help)中找出搜索表单 hgssrch.htm 和 hgcsrch.htm,并在与 IBM 支持机构联系时将这些表单提供给您的支持代表。
当尝试执行搜索时,您可能会看到其他许多出错信息。如果您遇到的错误是下列其中一项,请在与 IBM 支持机构联系之前尝试建议的操作。
原因:帮助客户机无法启动搜索服务(或者,对于 Component Broker,搜索服务未设置为在登录时自动启动)。无论您是在本地机器 (http://localhost:49213) 还是在远程帮助服务器上执行搜索,都可能会发生此错误。
建议的操作(本地帮助):
参见 3.1 HTTPDL.EXE 没有运行,特别是有关导入自动启动注册表项的那一节,以使搜索服务在您登录时自动启动。要快速地解决问题,可以打开命令提示符并输入:
imnss start server如果此命令返回包含下面这一行的消息:
搜索服务已启动。则您应当能够再次执行搜索,而不会发生这个 rc=33 错误。
建议的操作(以远程方式服务的帮助):
服务器的 NetQuestion 搜索过程可能没有运行,原因是该机器已重新引导,并且当前没有任何人登录至该机器。请参见 14.0 在引导时启动 NetQuestion 搜索服务。
原因:搜索程序没有在搜索请求中接收到任何有效索引名。搜索表单可能已损坏,或指定的索引可能不再是已注册的,或是存在与 NetQuestion 安装相关的问题。
建议的操作:首先,从产品帮助目录(INSTALL_DIR\doc 或 INSTALL_DIR\help)中删除全部 hg*.htm 文件。然后尝试为产品重新配置帮助。如果该问题仍然存在,则您可能需要重新安装 NetQuestion,然后再次为产品重新配置帮助。
原因:搜索表单指定了不存在的搜索表单头或搜索表单脚(包含要放在搜索结果上方或下方的 HTML 段的文件)。
建议的操作:请参见 4.2 在尝试执行搜索时发生“找不到文件”错误以获取进一步的信息。
原因:您输入的搜索查询带有太多的字匹配。搜索引擎不能处理包含超过 1024 个不同的字的匹配的查询。例如,如果输入搜索字符串 "a* b* c* d*"(不带引号),则表示您正在请求任何包含以字母 a、b、c 或 d 中的任何一个开头的字的文档。因为与这些搜索标准相匹配的字非常多,所以搜索引擎不能生成搜索命中的有意义、排序列表,因此它不作尝试。
建议的操作:输入将会生成更少的字命中的搜索请求。
原因:您输入了在逻辑上无效的搜索查询。例如,不认为 "-java" 这个搜索查询(显示所有不包含字 java 的文档)是有效的。
建议的操作:输入包含至少一个不被禁止的术语的搜索请求。
原因:当搜索程序无法读取进行成功的搜索操作所必需的环境变量时,可能会发生此错误。如果已将帮助配置为在除 NetQuestion 的 HTTPDL.EXE Web 服务器之外的 Web 服务器上运行,则可能需要更改 Web 服务器的设置,以确保特定环境变量对搜索 CGI(从搜索表单内的 <form> 标记的 "action=" 参数调用的程序)可见。在一些 Web 服务器上,系统环境变量缺省情况下是隐藏的。搜索 CGI 需要访问的变量是 IMNINSTSRV 和 IMNINST。Netscape Enterprise Server 就是一个在缺省情况下隐藏环境变量的 Web 服务器的示例。
建议的操作:修改 Web 服务器的设置,以手工方式将这些环境变量导出至 Web 服务器的 CGI 应用程序,或使所有本地环境变量对 CGI 可见。在 Netscape Enterprise Server 上,可以通过执行下列步骤做到这一点:
set imn
系统应该会返回 IMNINST 和 IMNINSTSRV 变量的设置,如:
IMNINST=help IMNINSTSRV=C:\IMNNQ_NT
Init fn="init-cgi" IMNINSTSRV=c:/imnnq_nt Init fn="init-cgi" IMNINST=help
###"WARNING: The configuration files have been edited by hand. ###Use this button to load the latest configuration files."
则单击 Load Configuration files。
对于其他 Web 服务器,请查阅 Web 服务器文档以获取有关使环境变量对 CGI 应用程序可见的信息。
原因:当 NetQuestion 不能正确地访问产品索引时,便会发生 rc=32 错误或提及 NETQ.CFG 文件的错误。发生此错误的原因可能是 NetQuestion 安装或特定的索引已损坏,在重新引导后第一次(仅此次)对给定索引执行搜索时,也可能会发生此错误。注意,虽然此错误的一些形式的消息会提到 NETQ.CFG 文件,但此文件实际上并不存在;此错误指的是与其他 NetQuestion 索引配置文件相关的问题。
建议的操作:确定问题的可能原因并进行校正,如下所述:
如果搜索返回 rc=76 出错信息,则表示一个或多个搜索索引可能需要复位。请执行下列步骤来复位索引:
在一些情况下,唯一能使帮助正确工作的方法是卸载并重新安装 NetQuestion,然后为使用“VisualAge 帮助系统”的产品重新配置帮助。注意,卸载 NetQuestion 可能会除去那些不使用“VisualAge 帮助系统”的产品(如 IBM DB2)所使用的搜索索引,从而可能会导致在重新安装 NetQuestion 后无法为那些产品搜索帮助。您可能需要重新安装有问题的产品以恢复其搜索索引。
在下面的指导中,请从命令提示符发出所有命令。在您开始之前,您需要确定 NetQuestion 安装目录。
仅当未注册任何索引时,NetQuestion 目录中的 NetQuestion 卸载程序 uninstnq.exe 才会除去 NetQuestion。您可以通过对每一个这样的产品发出 vahcfg remove 命令首先除去由使用“IBM VisualAge 帮助系统”的产品注册的任何索引。执行下列步骤:
在除去所有这样的产品之后,可以通过输入以下命令来检查是否仍然为其他产品注册了任何索引:
imnixlst
如果结果列表包含以 DB2、CXX 或 VAC 开头的条目,则可能有对不使用“VisualAge 帮助系统”的产品(如 DB2、IBM 的 C 和 C++ 编译器或 VisualAge C++ 4.0)注册的索引。如果继续手工卸载 NetQuestion,则您将丢失这些索引,并可能需要重新安装各自的产品才能再次为那些产品搜索帮助。如果仍列示了这样的索引,并且您已经为丢失那些产品的搜索能力或重新安装那些产品做好准备,则可以继续删除剩余的索引,如下所示:
如果列示了名称以 IVJ3、VJ32、IWZ 或 VA45 开始的索引,则可以安全地删除它们,这是因为以后可以使用 vahcfg install 恢复它们。
如果您因为 NetQuestion 错误而无法删除所有剩余索引,则可能需要以手工方式除去 NetQuestion(参见下面的 11.4 节)。
发出 uninstnq 命令并等待几分钟,直到您注意到 NetQuestion 目录几乎为空白为止。此目录不应包含任何以 imn* 或 imq* 开头的文件。您可能需要等待长达 10 分钟才能让此过程完成。10 分钟后,如果此目录仍包含 imn* 或 imq* 文件,则可能是仍存在对搜索服务注册的索引(在这种情况下,返回到 11.2 节),也可能是 NetQuestion 安装已损坏(转至 11.4 节)。否则,重新引导并转至 11.5 节。
如果使用 uninstnq.exe 无法除去 NetQuestion,可以以手工方式除去它,如下所示:
要更改或除去环境变量,请执行以下特定于平台的步骤:
要重新安装 NetQuestion,您将需要 IBM 支持机构向您提供的产品 CD 或 NetQuestion 安装 zip 文件。下列产品在它们的产品 CD 上有 NetQuestion 的可安装副本:
对于其他产品,可以通过搜索名为 ntq_sbcs.iss 的文件来确定 CD 上是否有 NetQuestion 的可安装副本。包含此文件的目录应该会包含一个 setup.exe 文件,该文件可以启动 NetQuestion 安装。
如果您从 IBM 接收到安装 zip 文件,将其 unzip 到一个临时目录中。
在获取 NetQuestion 的可安装副本之后,请执行下列步骤:
对于您以手工方式从帮助系统中除去的每个产品(使用 vahcfg remove,如 11.1 节所示),运行 vahcfg install,如 6.0 重新配置帮助所述。现在,您应该能够浏览和搜索产品帮助了。如果仍有错误,则请检查本文档的其他各节以了解可能的解决方案,或与 IBM 支持机构联系。
如果不能从产品的用户界面中启动帮助,则可以创建一个图标以通过双击该图标来启动帮助(这样,您至少可以在解决问题的同时使用帮助)。
注意事项
可以创建用于启动产品帮助的快捷方式,如下所示:
instance "INSTALL_DIR\DOC_DIR\CONFIG_FILE" open index.htm
其中 INSTALL_DIR 是安装有该产品的目录,DOC_DIR 通常是文档或帮助,而 CONFIG_FILE 是产品帮助配置文件的名称 (对于 VisualAge for Java 是 ivjhlp.cfg,参见 2.0 尝试启动帮助时无任何响应以获取有关确定其他产品的目录和配置文件名的信息)。如果配置文件的全路径包含空格,则务必将该路径括在引号中。
可以将创建的图标添加至“开始”菜单,方法是在该图标上单击鼠标右键,从弹出菜单中选择复制,然后在“Windows 资源管理器”中顺着 Windows 安装目录往下浏览,在 ...\Profiles\All Users\Start Menu 下面,将该图标粘贴到该目录或其中的适当子目录中。
您可以在 Windows NT 或 Windows 2000 Web 服务器上安装并配置帮助系统,以使组织中的其他成员可以通过网络查看和搜索联机帮助,而不必使用在他们的工作站上安装的 NetQuestion 和帮助系统代码。
产品注意事项
要执行这种网络安装,必须在服务器上安装 Web 服务器软件,如 Microsoft Peer Web Services (PWS) 或 Microsoft IIS。Web 服务器应该有一个 scripts 目录。(在 PWS 和 IIS 中,scripts 目录通常位于 x:\inetpub 下面。)在安装服务器软件之后,请执行下列步骤:
vahwebx.exe vahwebx.cat vahelp.cfg *foot.htm *head.htm *henus.htm
前三个文件是必需的;对于后几个文件,如果它们存在,则应复制它们,但如果它们不存在于 NetQuestion 目录中,则 x:\inetpub\scripts 目录中也应该不需要它们。
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 install 或 vahcfg regen,则需要再次编辑上面的步骤 3 中的映射文件。
在用户将他们的产品帮助配置文件修改为指向服务器之后,他们可以安全地运行以下命令来从他们的产品帮助目录中删除所有的 *.toc、*.htm 和 *.zip 文件以及搜索索引文件:
vahcfg remove /p prodname /f %IMNINSTSRV%
他们也可以简单地以手工方式删除 *.toc、*.htm 和 *.zip 文件。但是此方法不会删除产品帮助目录下面的索引目录,因此,还将需要以手工方式删除这些目录。
如果您是在联网帮助配置中配置服务器,请参见 14.0 在引导时启动 NetQuestion 搜索服务器,而不是阅读本节。
在系统上设置两个注册表项,可以将 HTTP 和搜索服务器设置为在登录时自动启动。要设置这些条目,请执行下列步骤:
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"
这将把两个条目导入到注册表中,因此,在您下次登录时(或在 Windows 95、Windows 98 或 Windows ME 上重新引导时),服务器应该会自动启动。
如果正在使用联网帮助配置(在此配置中,帮助是从服务器传递的,而不是从您自己的机器传递的),您在远程机器上执行搜索时可能会遇到问题。当 NetQuestion 的搜索守护程序设置为自动启动时(在产品安装期间设置,或在您执行了 13.0 自动启动 NetQuestion 服务器中的步骤之后设置),在用户登录到服务器之前,该守护程序实际上并未启动。 这意味着在系统重新引导之后,在该机器的用户第一次登录之前,搜索守护程序并没有运行。但您可以使用 Windows 计划任务在引导时启动搜索守护程序。本节中的指示信息适用于为帮助提供服务的机器。
注意:如果您使用的不是网络帮助配置,则无需执行本节中的步骤。
在您开始之前,您应该确定 NetQuestion 安装目录。您可能还想执行一些手工注册表清理。注册表可能包含用于在登录时启动 NetQuestion 搜索守护程序的条目。如果将要在引导时启动守护程序,此注册表项是不必要的。要清理注册表:
现在,您可以告诉 Windows 在引导时启动服务器了。首先,在作为帮助服务器的机器上检查是否已安装了 Microsoft 的“Windows 计划任务”。
要在帮助服务器上将“NetQuestion 搜索服务器”设置为在引导时启动:
注意:帮助服务器重新引导后,在登录屏幕出现之后,可能要经过整整一分钟或更长的时间 Windows 才会启动搜索服务器。
通过打开命令提示符并输入以下命令来确定 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%
如果无法从浏览器或命令行启动帮助,则可能是 HTML 文件的文件关联设置不正确。“帮助系统”客户机代码使用注册表项来确定基于这些文件关联的缺省系统浏览器。可使用注册表编辑器来检查文件关联:
如果未看到这样的条目,可按下列步骤添加此条目:
对于 Netscape Communicator:
user_pref("browser.wfe.ignore_def_check", true);
对于 Internet Explorer:
如果您使用的是 Windows Me,对 autoexec.bat 所作的用于装入 NetQuestion 环境变量的更改即使在重新引导后也不会生效;在重新引导后,这些更改可能会消失。这将导致 NetQuestion 环境变量仍处于未定义状态,而这种状态会导致下列类型的故障:
在重新引导之后,您可以通过检查是否正确地设置了环境变量来确定这是否是帮助问题的原因。如果仍未设置环境变量,则可以使用 Windows 系统目录中的 msconfig.exe 程序来进行下列环境更改:
Component Broker 不使用“VisualAge 帮助系统”的客户机部分,即从用户界面中的 F1 键或“帮助”菜单操作启动帮助的部分。这有两点重要的含义:
Component Broker 在 doc\readme 目录中提供了有关帮助故障诊断的其他信息。
在已安装的帮助是部分或完全使用简体中文(zh_CN 语言环境)、繁体中文 (zh_TW)、韩国语 (ko_KR) 或日语 (ja_JP) 编写的系统上,您需要更改 vahcfg 和 NetQuestion 命令,如下所示:
vahcfg regen /p vj32 /f %IMNINSTSRV% /l ja_JP
未能包含语言环境可能会导致搜索索引和 NetQuestion 搜索系统损坏。
SBCS 命令 | DBCS 命令 |
imnixlst | imqixlst |
imnixdel | imqixdel |
imnss start server | imqss -start dbcshelp |
因为 NetQuestion 将不同的可执行文件和服务器用于它的单字节和双字节搜索系统,所以这些更改是必需的。