Установка локальной справки Visual Studio (Books Online) завершается с ошибкой 407 Proxy Authentication Required.
Проблема здесь в том, что если вы находитесь за неприглядным дружественным корпоративным брандмауэром или прокси-сервером, вам может быть сложно установить локальную справку в Visual Studio 2013.
Когда я активировал Help Viewer v2.1, я бы сначала увидел список тем справки, которые могут быть установлены. Вместо этого я получаю уведомление о том, что произошли ошибки. Объясняя это, я увижу, что наш корпоративный прокси-сервер предоставил ответ 407 Proxy Authentication Required, требующий проверки подлинности NTLM. По-видимому, средство просмотра справки недостаточно интеллектуально, чтобы разумно реагировать на этот обычный HTTP-ответ.
Вопрос заключается в следующем: как обойти эту проблему, поскольку получение богов сети для создания более прозрачного прокси-сервера кажется… маловероятным.
Вопрос : Ошибка Visual Studio: (407: Аутентификация прокси-сервера) (связанная, но не та же проблема) помогла мне в решении, как и в этом разговоре:
По-видимому, существуют три разных процесса, связанных с получением помощи, установленной для VS 2013:
- Средство просмотра справки Microsoft (
HlpViewer.exe
) - Диспетчер содержимого справки Microsoft (
HlpCtntMgr.exe
) - Служба BITS (Фоновая интеллектуальная служба передачи)
Вышеупомянутые потоки приведут вас к обезьяне с конфигурационным файлом для справки viewr, но этого недостаточно, чтобы исправить проблему. Вам нужно будет сделать следующее:
-
Перейдите в каталог установки средства просмотра справки (по умолчанию используется
C:\Program Files (x86)\Microsoft Help Viewer\v2.1
). -
Создайте или отредактируйте файл
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>
. -
Сделайте то же самое для
HlpCtntMgr.exe.config
. -
BITS (Фоновая интеллектуальная служба передачи) имеет значение конфигурации
UseLmCompat
которое сообщает ему, когда отправлять аутентификационные данные NTLM. Из документации,Значение реестра – это 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
, поэтому оно будет предоставлять учетные данные по запросу.ПРИМЕЧАНИЕ. Поскольку Microsoft в своей бесконечной мудрости благословила нас не одним, а двумя реестрами (32-разрядными и 64-разрядными), вам нужно будет сделать вышеуказанное изменение дважды, используя соответствующие экземпляры
regedit.exe
находится в- 32-бит:
C:\Windows\regedit.exe
- 64-бит:
C:\Windows\SysWOW64\regedit.exe
- 32-бит:
-
Сделав это, вам нужно отскочить BITS. Это можно сделать, перезагрузив ваш компьютер или через панель управления Services (
services.msc
), где она указана под названием ”Background Intelligent Transfer Service
.
На этом этапе вам должно быть хорошо идти.