发生此问题时,您会收到下列错误消息之一。

展开以查看全部错误消息
收起这个图片展开这个图片

  • 此程序的帮助是采用以前版本的 Windows 中使用的 Windows 帮助格式创建的,在 Windows Vista 中不支持这种格式。
  • 此程序的帮助是采用 Windows 帮助格式创建的,这种格式依赖于此版本的 Windows 中未包含的功能。但是,您可以下载某个将允许您查看采用 Windows 帮助格式创建的帮助的程序。
  • 此程序的“帮助”是采用 Windows 帮助格式创建的,具体取决于此版本的 Windows 中未包含的功能。有关更多信息,请转到 Microsoft 帮助和支持网站。
收起这个图片展开这个图片
若要解决此问题,请下载并安装适用于您的 Windows 版本的 Windows 帮助程序 (WinHlp32.exe)。下载的重要说明
  • 在 Internet Explorer 中打开这些链接。
  • 如果您在打开下载页面时看到“需要验证”消息,请单击“继续”,然后按照屏幕上的说明操作。
  • 当系统提示您下载文件时,请为 64 位 Windows 选择包含“x64”的文件名,为 32 位 Windows 选择包含“x86”的文件名。请使用以下自动检测信息做出选择。
    收起这个图片展开这个图片

    您当前使用的是 32 位操作系统。
    收起这个图片展开这个图片

    收起这个图片展开这个图片

    您当前使用的是 64 位操作系统。
    收起这个图片展开这个图片
  • Windows 帮助程序在 Windows Server 2012 或更高版本的 Windows Server 中不受支持。
如果您在安装 WinHlp32.exe 或使用“帮助”时遇到问题,请转到“详细信息”部分。

参考

有关组策略的更多信息,请访问下面的 Microsoft TechNet 网站:

组策略集合

组策略对象编辑器

核心组策略工具和设置

详细信息

当 Windows 帮助使用更早版本的 Windows 帮助程序 (WinHlp32.exe) 显示内容时出现此问题。

已知问题

收起这个图片展开这个图片

安装 WinHlp32.exe 更新时可能发生的已知问题

收起这个图片展开这个图片
  • Windows Update 错误 80070422
    若要让我们为您修复此问题,请转到“帮我修复此问题”部分。如果您希望自己修复此问题,请转到“我自己修复此问题”部分。

    帮我修复此问题

    若要自动修复此问题,请单击“Fix it”按钮或链接。然后在“文件下载”对话框中,单击“运行”,并按照“Fix it”向导中的步骤操作。
    收起这个图片展开这个图片
    修复此问题
    Microsoft Fix it 50776
    收起这个图片展开这个图片



    注意
    • 此向导可能只提供英文版本。但是,自动修复对其他语言版本的 Windows 同样适用。
    • 如果所使用的计算机中并未出现此问题,则可将 Fix it 解决方案保存至闪存驱动器或 CD 中,然后在出现此问题的计算机上运行该解决方案。

    然后转到“问题是否已修复?”部分。

    我自己修复此问题

    如果在下载 WinHlp32.exe 更新时收到 Windows Update 错误 80070422,则您可能需要更改 Windows 更新服务设置,然后重新启动服务。为此,请按照下列步骤操作:
    1. 单击「开始」,并在“开始搜索”“搜索程序和文件”文本框中键入“服务”
    2. 双击程序列表中的“服务”。如果系统提示您输入管理员密码或进行确认,请键入密码或进行确认。
    3. 右键单击“Windows Update”服务,然后单击“属性”。
    4. 在“常规”选项卡上,确保选择了“启动类型”旁边的“自动”。
    5. 在“服务状态”的旁边检查该服务是否已启动。如果没有启动,请单击“启动”。如果系统提示您输入管理员密码或进行确认,请键入密码或进行确认。
    6. 单击“确定”。

问题是否已修复?

  • 请检查是否已修复此问题。如果已修复,您就完成了本部分内容。如果未修复,则可联系 Microsoft 支持
  • 非常感谢您提供反馈意见。若要提供反馈意见或报告使用此解决方案出现的任何问题,请在“帮我修复此问题”博客中留言或向我们发送电子邮件
收起这个图片展开这个图片

安装 WinHlp32.exe 更新后可能会发生的已知问题

收起这个图片展开这个图片

下面的列表显示了与 WinHlp32.exe 早期版本相比已知的功能衰退情况。下列已知问题仅出现在本文讨论的 WinHlp32.exe 版本中。
  • 一些宏已被禁用

    默认情况下,Windows 帮助中会禁用下列宏:
    • ExecFile
    • RegisterRoutine
    • ShellExecute
    • ShortCut
    • Generate
    • Test
    • ExecProgram
    但是,.hlp 文件中的所有其他宏将仍旧可以运行。因此,安装用于 Windows Vista、Windows 7、Windows Server 2008 或 Windows Server 2008 R2 的 Windows 帮助后,如果打开依赖这些宏的 .hlp 文件,该文件的某些功能可能无法正常运行。如果发生此问题,您可能会收到以下错误消息:
    运行宏时出错。(1037)
    如果需要使用这些宏,则可以启用它们,方法是使用组策略替代方法或注册表替代方法,如“用于网络管理员的注册表项和组策略”部分中所述。
  • 无法访问存储在 Intranet 站点上的 .hlp 文件

    默认情况下,无法使用 WinHlp32.exe 访问存储在 Intranet 站点上的 .hlp 文件。如果尝试打开远程文件,将收到以下错误消息:
    无法显示该帮助文件。请再次打开该文件,如果仍收到此消息,请将它复制到别的驱动器,再试一次。
    如果需要访问存储在 Intranet 站点上的 .hlp 文件,则可以取消阻止这些文件,方法是使用组策略替代方法或注册表替代方法,如“用于网络管理员的注册表项和组策略”部分中所述。
  • 非交互式用户的访问已被阻止

    阻止非交互式用户(例如系统进程)访问 .hlp 文件。发生错误时,用户无法收到错误消息。
  • 拖放功能已禁用

    在应用程序中,已禁用对拖放功能的支持。遇到此错误时,用户不会收到错误消息。
  • “如何使用帮助”文件依赖性

    名为“如何使用帮助”的帮助文件已从 Windows Vista 和 Windows Server 2008 中删除。下面是删除的文件:
    • Windows.hlp
    • Winhlp32.hlp
    • Winhlp32.cnt
    • Winhelp.cnt
    • Nocntnt.cnt
    注意
    • 这些文件未包含在 Windows 7 或 Windows Server 2008 R2 中。
    • 当您尝试打开依赖这些文件的 .hlp 文件时,可能会返回错误。
收起这个图片展开这个图片
收起这个图片展开这个图片

如何解决 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 中与 WinHlp32.exe 相关的应用程序兼容性问题

收起这个图片展开这个图片
可以使用“简介”部分中提到的用于 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 的 Windows 帮助下载来查看 32 位的帮助文件。此版本提供了可用于解决应用程序兼容性问题的组策略和注册表子项。例如,利用这些组策略和注册表子项,可以解决与 .hlp 文件中的宏和访问存储在 Intranet 站点上的 .hlp 文件相关的问题。但是,当用户查看来自未知来源的帮助文件时,启用这些策略或设置将给计算机带来更多风险。因此,在决定是否实施此部分中介绍的应用程序兼容性解决方法时,应三思而后行。

使用下列问题决定是否安装 WinHlp32.exe,以及应该对策略和注册表进行哪些更改。
    是否必须使用因在 Windows Vista、Windows 7、Windows Server 2008 或 Windows Server 2008 R2 中删除 WinHlp32.exe 而受到影响的应用程序和功能?
    • 有多少应用程序需要使用 WinHlp32.exe?有多少应用程序受这些功能更改的影响?这些应用程序的重要程度如何?
    • 这些更改导致的故障的严重程度如何?

    您具有哪些安全要求和安全功能?
    • 能够使用 WinHlp32.exe 功能与确保安全性得到尽量增强相比,哪个更重要?
    • 您的外部安全措施(例如本地或企业防火墙)是否可以令您放心地安装 WinHlp32.exe 并进行本文介绍的策略更改或注册表更改?

    如果您是公司职员,贵公司是否提供 .hlp 格式的内容?
    • 您是否可以对程序或内容进行修改,以使它们不必使用 WinHlp32.exe 功能?例如,是否可以将当前采用 .hlp 格式的帮助内容转换为 .chm、.html 或 .xml 等其他文件格式?
    • 您的组织是否将 .hlp 文件存储在 Intranet 站点上?您能够转向本地安装这些文件吗?

收起这个图片展开这个图片

安装 WinHlp32.exe 后,如何在某台计算机上启用宏

收起这个图片展开这个图片
安装本文中讨论的 WinHelp32.exe 下载文件后,将禁用某些宏。有关此问题的更多信息,请参见“已知问题”部分。

本部分包含通过修改注册表项重新启用这些宏的步骤。如果您的计算机处于托管环境中,在咨询您的 IT 部门前,请不要按照这些步骤操作。IT 部门可能决定不重新启用宏,或者他们决定通过使用组策略来重新启用宏。在继续操作前,IT 部门应通读本文。

警告:本文提供有关如何变通解决由此 Windows 帮助版本中的更改导致的问题。但是,Microsoft 并不就哪些注册表项和值适合您的环境提供具体建议。如果您处于托管环境中,则您的 IT 部门可以对这些替代方法的优点以及使用它们的风险作出最佳判断。比较安全的方法是根本不使用注册表替代方法。

注意:要执行此任务中的步骤,您必须使用管理员帐户登录到计算机。使用管理员帐户后,即可更改无法使用其他帐户(如标准帐户)更改的计算机。

要使用管理员帐户登录,您必须知道计算机上管理员帐户的密码。如果您要在个人计算机上执行这些步骤,则可能已经使用管理员帐户登录。如果您要在工作计算机上执行这些步骤,则可能需要系统管理员提供帮助。

若要让我们为您修复此问题,请转到“帮我修复此问题”部分。如果您希望自己修复此问题,请转到“我自己修复此问题”部分。

帮我修复此问题

若要自动修复此问题,请单击“修复此问题”链接,并在“文件下载”对话框中单击“运行”,然后按照此向导中的步骤操作。
收起这个图片展开这个图片
修复此问题
Microsoft Fix it 50105
收起这个图片展开这个图片


注意 此修补程序仅适用于 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2。

注意:此向导可能只提供英文版本。但是,Windows 的其他语言版本也提供自动修复功能。

注意:如果操作的计算机中并未出现此问题,则可将自动修复功能保存至闪存驱动器或 CD 中,然后在出现此问题的计算机中运行该功能。

下面,请转到“此方法是否已修复问题?”部分。

我自己修复此问题

收起这个图片展开这个图片

重要说明 本部分(或称方法或任务)包含有关如何修改注册表的步骤。但是,注册表修改不当可能会出现严重问题。因此,请一定严格按照下列步骤操作。为了获得进一步保护,请在修改注册表之前对其进行备份。这样就可以在出现问题时还原注册表。有关如何备份和还原注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows 中备份和还原注册表

要在安装 WinHelp32.exe 后在某台计算机上启用宏,请按照下列步骤操作:
  1. 使用管理员帐户登录。
  2. 单击“开始”
    收起这个图片展开这个图片
    “开始”按钮,在“开始搜索”框中键入 regedit,然后单击“程序”列表中的 regedit
    收起这个图片展开这个图片
    用户访问控制权限
    如果系统提示您输入管理员 密码或进行确认,请键入密码,或单击“继续”
  3. 在 32 位版本的 Windows 上,找到并选择以下注册表子项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft

    在 64 位版本的 Windows 上,找到并选择以下注册表子项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft
  4. 在“编辑”菜单上,指向“新建”,然后单击“项”。
  5. 键入 WinHelp,然后按 Enter。
  6. 单击“WinHelp”项。
  7. 在“编辑”菜单上,指向“新建”,然后单击“DWORD (32 位) 值”。
  8. 键入 AllowProgrammaticMacros,然后按 Enter。
  9. 在“编辑”菜单上,单击“修改”。
  10. 在“数值数据”框中,键入 1,在“基数”区域中单击“十六进制”,然后单击“确定”。
  11. 退出注册表编辑器。
现在请转到“此方法是否已修复问题?”部分。
收起这个图片展开这个图片

此方法是否已修复问题?

  • 请检查是否已修复此问题。如果已修复,您就完成了本部分内容。如果未修复,则可与技术支持部门联系
  • 非常感谢您提供反馈意见。要提供反馈意见或报告使用此解决方案出现的任何问题,请在“帮我修复此问题”博客中留言或向我们发送电子邮件
收起这个图片展开这个图片

在安装 WinHlp32.exe 后,如何在某台计算机上取消阻止存储在 Internet 上的 .hlp 文件

收起这个图片展开这个图片
在安装本文中介绍的 WinHelp32.exe 后,会阻止存储在 Intranet 站点上的 .hlp 文件。有关此问题的更多信息,请参阅“已知问题”部分。

本文包含通过修改注册表项来取消阻止这些 .hlp 文件的步骤。如果您的计算机处于托管环境中,在咨询您的 IT 部门前,请不要按照这些步骤操作。IT 部门可能决定不重新启用宏,或者他们决定通过使用组策略来重新启用宏。

重要说明:本文介绍如何在计算机上降低安全设置或关闭安全功能。您可以通过这些更改来解决特定的问题。我们建议您在进行这些更改之前,充分考虑在您的特定环境中实施这种方法可能带来的风险。如果要实施这种方法,请执行任何适当的附加步骤来帮助保护您的计算机。

警告:本文提供有关如何变通解决由此 Windows 帮助版本中的更改导致的问题。但是,Microsoft 并不就哪些注册表项和值适合您的环境提供具体建议。如果您处于托管环境中,则您的 IT 部门可以对这些替代方法的优点以及使用它们的风险作出最佳判断。比较安全的方法是根本不使用注册表替代方法。

注意:要执行此任务中的步骤,您必须使用管理员帐户登录到计算机。使用管理员帐户后,即可更改无法使用其他帐户(如标准帐户)更改的计算机。

要使用管理员帐户登录,您必须知道计算机上管理员帐户的密码。如果您要在个人计算机上执行这些步骤,则可能已经使用管理员帐户登录。如果您要在工作计算机上执行这些步骤,则可能需要系统管理员提供帮助。

若要让我们为您修复此问题,请转到“帮我修复此问题”部分。如果您希望自己修复此问题,请转到“我自己修复此问题”部分。

帮我修复此问题

若要自动修复此问题,请单击“修复此问题”链接,并在“文件下载”对话框中单击“运行”,然后按照此向导中的步骤操作。
收起这个图片展开这个图片
修复此问题
Microsoft Fix it 50237
收起这个图片展开这个图片

注意
  • 此修补程序仅适用于 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2。
  • 此向导可能只提供英文版本,但是 Windows 其他语言版本也提供自动修复功能。
  • 如果操作的计算机中未出现此问题,则可以将自动修复功能保存至闪存驱动器或 CD,然后在出现此问题的计算机中运行该功能。

下面,请转到“此方法是否已修复问题?”部分。

我自己修复此问题

收起这个图片展开这个图片

重要说明 本部分(或称方法或任务)包含有关如何修改注册表的步骤。但是,注册表修改不当可能会出现严重问题。因此,请一定严格按照下列步骤操作。为了获得进一步保护,请在修改注册表之前对其进行备份。这样就可以在出现问题时还原注册表。有关如何备份和还原注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows 中备份和还原注册表

若要在安装 WinHelp32.exe 后取消阻止 .hlp 文件,请按照下列步骤操作:
  1. 使用管理员帐户登录。
  2. 单击“开始”
    收起这个图片展开这个图片
    “开始”按钮,在“开始搜索”框中键入 regedit,然后单击“程序”列表中的 regedit
    收起这个图片展开这个图片
    用户访问控制权限
    如果系统提示您输入管理员 密码或进行确认,请键入密码,或单击“继续”
  3. 在 32 位版本的 Windows 上,找到并选择以下注册表子项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft

    在 64 位版本的 Windows 上,找到并选择以下注册表子项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft
  4. “编辑”菜单上,指向“新建”,然后单击“项”
  5. 键入 WinHelp,然后按 Enter。
  6. 单击“WinHelp”项。
  7. “编辑”菜单上,指向“新建”,然后单击“DWORD (32 位)值”
  8. 键入 AllowIntranetAccess,然后按 Enter。
  9. 在“编辑”菜单上,单击“修改”。
  10. 在“数值数据”框中,键入 1,在“基数”区域中单击“十六进制”,然后单击“确定”。
  11. 退出注册表编辑器。
现在转到“此方法是否已修复问题?”部分。
收起这个图片展开这个图片

此方法是否已修复问题?

请检查是否已修复此问题。如果已修复,您就完成了本部分内容。如果未修复,则可与技术支持部门联系
收起这个图片展开这个图片

针对网络管理员的注册表项和组策略

收起这个图片展开这个图片

警告:此替代方法可能导致计算机或网络更易于受到恶意用户或恶意软件(如病毒)的攻击。我们不建议您采用这种替代方法,此信息仅供参考,您应自行决定是否实施此替代方法。使用此替代方法需要您自担风险。

警告:本文提供有关如何变通解决由此 Windows 帮助版本中的更改导致的问题。但是,Microsoft 并不就哪些注册表项和值适合您的组织提供具体建议。您的 IT 部门可以对这些替代方法的优点以及使用它们的风险作出最佳判断。比较安全的方法是根本不使用注册表替代方法。

WinHlp32.exe 下载提供的组策略和注册表项可以解决此 Windows 帮助版本中的两个已知问题。通过利用下列组策略或注册表项,网络管理员和各个用户可以重新启用宏,并取消对存储在 Intranet 站点上的 .hlp 文件的阻止。这里提供了两个组策略来作为每项功能的替代方法:本地计算机组策略设置和当前用户组策略设置。您也可以使用用户注册表设置来管理每项功能。

对于每项功能,这些替代方法的优先级如下:
  • 本地计算机组策略
  • 当前用户组策略
  • 用户注册表设置
对于每项功能,如果未设置策略,也没有设置用户注册表设置,它将表现出“已知问题”部分中介绍的行为。

重要说明:此部分、方法或任务包含有关如何修改注册表的步骤。但是,注册表修改不当可能会出现严重问题。因此,请一定严格按照下列步骤操作。为了获得进一步保护,请在修改注册表之前对其进行备份。这样就可以在出现问题时还原注册表。有关如何备份和还原注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows 中备份和还原注册表
  • 如何启用宏

    网络管理员可以使用“允许 WinHlp32.exe 中的编程宏”策略来启用或禁用 .hlp 文件中的宏。管理员可以使用组策略管理控制台 (GPMC) 管理此组策略设置。有关组策略的更多信息,请参见“参考”部分。

    如果未对此功能设置本地计算机组策略和当前用户组策略,用户可以修改此功能的用户注册表设置,以启用或禁用 .hlp 文件中的宏。要更改此设置,用户必须先向注册表中添加下面的新子项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WinHelp
    接下来,用户必须向此子项中添加一个名为 AllowProgrammaticMacros 的 DWORD 值。如果将 AllowProgrammaticMacros 的值设置为 1,则将启用宏。如果将值设置为 0,则将关闭宏。如果此注册表值不存在,也将禁用宏。
  • 如何取消对存储在 Intranet 上的 .hlp 文件的阻止

    网络管理员可以使用“允许 WinHlp32.exe 访问存储在 Intranet 站点上的 .hlp 文件”策略设置取消对存储在 Intranet 上的 .hlp 文件的阻止。管理员可以使用 GPCM 管理此组策略设置。有关组策略的更多信息,请参见“参考”部分。

    如果未对此功能设置上述任何组策略,用户可以修改此功能的用户注册表设置,以阻止或取消阻止存储在 Intranet 站点上的 .hlp 文件。要更改此设置,用户必须先向注册表中添加下面的新子项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WinHelp
    接下来,用户必须向此子项中添加一个名为 AllowIntranetAccess 的 DWORD 值。如果将 AllowIntranetAccess 的值设置为 1,将可以访问存储在 Intranet 站点上的 .hlp 文件。如果将值设置为 0,则将阻止存储在 Intranet 站点上的 .hlp 文件。如果此注册表值不存在,也将阻止存储在 Intranet 站点上的 .hlp 文件。
收起这个图片展开这个图片
从 Windows Vista 开始,新的帮助组件替换了旧的帮助组件 (WinHlp32.exe),新帮助组件针对较新的 Windows 版本添加了更多的功能。

在未来的 Windows 版本中,将不再支持当前形式的 WinHlp32.exe 技术。因此,我们强烈建议软件开发人员不要再在 Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2、Windows 8 Consumer Preview 或 Windows 8 Server Beta 中使用此 Windows 帮助程序。我们鼓励发布依赖 .hlp 文件的程序的软件开发人员将其帮助系统转换为其他帮助文件格式,如 .chm、.html 或 .xml。他们还必须将其调用从 WinHelp API 更改为新内容源。有些第三方工具可帮助软件开发人员将帮助内容格式转换为其他格式。

注意 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 仍支持用于 16 位 .hlp 文件的 WinHelp.exe。WinHelp.exe 程序是针对 16 位 .hlp 文件而设计的一个 Windows 帮助版本。WinHelp.exe 程序仍包含在 Windows Vista 和 Windows 7 中。

关于本文

文章编号: 917607
最后评论: 2014年5月9日
这篇文章中的信息适用于:: Windows 8.1, Windows 8.1 Enterprise, Windows 8.1 Pro, Windows 8, Windows 8 Enterprise, Windows 8 Pro, Windows Server 2008 Standard, Windows Server 2008 Datacenter, Windows Server 2008 Enterprise, Windows Server 2008 Enterprise without Hyper-V, Windows Server 2008 Standard without Hyper-V, Windows Server 2008 Datacenter without Hyper-V, Windows Vista Home Basic, Windows Vista Home Premium, Windows Vista Enterprise, Windows Vista Business, Windows Vista Ultimate, Windows Vista Starter, Windows Vista Business 64-bit edition, Windows Vista Home Premium 64-bit edition, Windows Vista Home Basic 64-bit edition, Windows Vista Ultimate 64-bit edition, Windows Vista Enterprise 64-bit edition, Windows 7 Enterprise, Windows 7 Home Basic, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Starter, Windows 7 Ultimate, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Standard, Windows Web Server 2008 R2
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
是否提供针对本文的反馈?
 

Get more support from smallbusiness.support.microsoft.com

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.