无法安装本地帮助:407代理验证错误

时间:2014-07-23 00:37:00

标签: visual-studio proxy visual-studio-2013

安装Visual Studio本地帮助(联机丛书)失败,并显示407 Proxy Authentication错误。

这里的问题是,如果您是一个非常友好的企业防火墙或代理的后面,您可能很难在Visual Studio 2013中安装本地帮助。

当我启动帮助查看器v2.1时,我最初会看到可能安装的帮助主题列表。相反,我会收到错误发生的通知。深入研究,我发现我们的公司代理已经回复了要求进行NTLM身份验证的407 Proxy Authentication Required响应。显然,帮助查看器不够智能,无法智能地响应这种普通的HTTP响应。

问题是:如何解决这个问题,因为让网络众神建立一个更透明的代理似乎......不太可能。

1 个答案:

答案 0 :(得分:0)

问题Visual Studio Error: (407: Proxy Authentication Required)(相关但不是同一个问题)帮助我找到了解决方案,就像这次谈话一样:

http://social.msdn.microsoft.com/Forums/vstudio/en-US/65c07e43-b652-496e-acbd-4d98861d527e/cannot-install-local-help-in-visual-studio-11?forum=vssetup

显然,在为VS 2013安装帮助时涉及3个不同的过程:

  • Microsoft帮助查看器(HlpViewer.exe
  • Microsoft帮助内容管理器(HlpCtntMgr.exe
  • BITS服务(后台智能传输服务

以上主题将引导您使用帮助查看器的配置文件进行编辑,但这不足以解决问题。您需要执行以下操作:

  1. 导航到帮助查看器的安装目录(默认位置为C:\Program Files (x86)\Microsoft Help Viewer\v2.1)。

  2. 创建或编辑文件HlpViewer.exe.config,使其具有如下所示的<system.net>元素:

    <?xml version="1.0"?>
    <configuration>
      <system.net>
        <settings>
          <ipv6 enabled="true"/>
        </settings>
        <defaultProxy enabled="true" useDefaultCredentials="true">
          <proxy
            bypassonlocal="True"
            proxyaddress="http://your-proxy-server:80/"
          />
        </defaultProxy>
      </system.net>
    </configuration>
    

    根据您的代理配置的变幻莫测,您可能需要或不需要<proxy>元素。

  3. HlpCtntMgr.exe.config执行相同操作。

  4. BITS(后台智能传输服务)有一个配置值UseLmCompat,告诉它何时发送NTLM身份验证凭据。来自the documentation

      

    注册表值是DWORD。下表列出了可能的值   UseLMCompat:

    Value Description
    ----- -----------
      0   BITS will send implicit credentials whenever the server prompts
            for NTLM or Kerberos credentials.
      1   BITS will send implicit credentials only if the client computer's
            LMCompatibilityLevel registry value is greater than or equal to 2.
            Prior to BITS 1.5:  Not supported
      2   BITS will send implicit credentials only if the application called
            the SetCredentials method.
            Prior to BITS 2.0:  Not supported
    

    默认配置似乎是2。您可能需要修改它

    的注册表
    HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/BITS/UseLmCompat
    

    您希望该值为0,因此它会根据请求提供凭据。

    注意:由于微软以其无限的智慧为我们提供了祝福,而不是一个,而是两个注册表(32位和64位),我需要使用位于

    regedit.exe的相应实例进行两次上述更改
    • 32位: C:\Windows\regedit.exe
    • 64位: C:\Windows\SysWOW64\regedit.exe
  5. 完成后,您需要退回BITS。您可以通过重新启动计算机或通过服务控制面板(services.msc)来执行此操作,该控制面板位于名称Background Intelligent Transfer Service下。

  6. 此时,你应该好好去。