Ошибка winhttp 12002 время ожидания операции истекло

Появилась ошибка «WinHTTP 12002» или «WinHTTP 12152»

При отправке документа в окне мониторинга СБИС Коннекта появилась ошибка. В логах указано «Ошибка WinHTTP 12002» или «Ошибка WinHTTP 12152».

Причина

  • «WinHTTP 12002» — превышен тайм-аут. Ответ от online.sbis.ru не был получен в течение минуты. Есть проблемы с интернет-соединением.
  • «WinHTTP 12152» — на запрос пришел неправильный ответ. Прокси-сервер не может установить соединение с online.sbis.ru или сервер провайдера блокирует доступ.

Решение

Откройте online.sbis.ru в браузере Internet Explorer без использования СБИС Коннекта или SDK. Если в браузере появилось сообщение:

  • «Вы не подключены к сети» — проверьте интернет-соединение. Попробуйте настроить браузер для работы со СБИС.
  • «Не удается отобразить эту страницу» — проверьте настройки СБИС Коннекта и прокси-сервера. После этого повторно откройте сайт.

Добейтесь, чтобы в Internet Explorer открылся сайт online.sbis.ru. После этого запустите СБИС Коннект или SDK. Отправьте или получите документы.

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.

Hi,

I’m trying to configure the the client side WinHTTP connect/send/receive timeout on Windows 7/2008. However they don’t seem to take effect.

Instead WinHttpSendRequest comes back with 12002 always after 21 seconds when trying with a fake IP as destination (not sure how else to simulate).

It may worth mentioning that I tried both by using WinHttpSetTimeouts and by setting each option individually with WinHttpSetOption with no difference.

The results of my quick test look like this:

WinHttpUsageExample.exe «10.20.30.40» 50 (timeout in secs)

default WINHTTP_OPTION_RESOLVE_TIMEOUT: -1
default WINHTTP_OPTION_CONNECT_TIMEOUT: 60000
default WINHTTP_OPTION_SEND_TIMEOUT: 30000
default WINHTTP_OPTION_RECEIVE_TIMEOUT: 30000
——————————————————————————-

current WINHTTP_OPTION_RESOLVE_TIMEOUT: 50000
current WINHTTP_OPTION_CONNECT_TIMEOUT: 50000
current WINHTTP_OPTION_SEND_TIMEOUT: 50000
current WINHTTP_OPTION_RECEIVE_TIMEOUT: 50000
——————————————————————————-

Before WinHttpSendRequest time is 16:36:28
After WinHttpSendRequest time is 16:36:49, errno: 12002
Error 12002 has occurred.

Could this be a WinHTTP bug?

Am I not simulating correctly? How to then?

Could it be in this case that the ERROR_WINHTTP_TIMEOUT is returned as result of lower tcp level timeout(s) expiration (not mentioned in WinHTTP doc)?

Pretty much in the dark here. Any help would be highly appreciated.

Cheers,
Bogdan

Also, in case one may be curious, here’s the source of my small test program:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <windows.h>
#include <winhttp.h>
#include <time.h>

static wchar_t* charToWChar(const char* text)
{
    size_t size = strlen(text) + 1;
    wchar_t* wa = new wchar_t[size];
    mbstowcs(wa,text,size);
    return wa;
}

int main(int argc, char* argv[])
{
  DWORD dwSize = 0;
  DWORD dwDownloaded = 0;
  LPSTR pszOutBuffer;
  BOOL  bResults = FALSE;
  HINTERNET  hSession = NULL,
             hConnect = NULL,
             hRequest = NULL;

  DWORD timeoutval = 0;
  DWORD size = sizeof(DWORD);
  wchar_t *httpserver = NULL;  
  char timeStr [9];    

  if(argc < 3)
  {
          printf( «usage: WinHttpUsageExample.exe <http server name/address> <winhttp global timeout in seconds>n»);

          return 0;
  }

  // Use WinHttpOpen to obtain a session handle.
  hSession = WinHttpOpen( L»WinHTTP Example/1.0″,  
                          WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,

                          WINHTTP_NO_PROXY_NAME,

                          WINHTTP_NO_PROXY_BYPASS, 0 );

  WinHttpQueryOption(hSession, WINHTTP_OPTION_RESOLVE_TIMEOUT, &timeoutval, &size);

  printf(«default WINHTTP_OPTION_RESOLVE_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hSession, WINHTTP_OPTION_CONNECT_TIMEOUT, &timeoutval, &size);

  printf(«default WINHTTP_OPTION_CONNECT_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hSession, WINHTTP_OPTION_SEND_TIMEOUT, &timeoutval, &size);

  printf(«default WINHTTP_OPTION_SEND_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hSession, WINHTTP_OPTION_RECEIVE_TIMEOUT, &timeoutval, &size);

  printf(«default WINHTTP_OPTION_RECEIVE_TIMEOUT: %dn», timeoutval);

  printf( «——————————————————————————-n»);

  timeoutval = atol(argv[2]) * 1000; //convert seconds to milliseconds
  httpserver = charToWChar( argv[1] ); // convert the string type

  /* Use WinHttpSetTimeouts to set a new time-out values (resolve, connect, send, receive) */

  if (!WinHttpSetTimeouts( hSession, timeoutval, timeoutval, timeoutval, timeoutval))

  {
       printf(«Error %u in WinHttpSetTimeouts.n», GetLastError());

  }

  // Specify an HTTP server.
  if( hSession )
    hConnect = WinHttpConnect( hSession, httpserver,
                               INTERNET_DEFAULT_HTTPS_PORT, 0 );

  // Create an HTTP request handle.
  if( hConnect )
    hRequest = WinHttpOpenRequest( hConnect, L»GET», NULL,
                                   NULL, WINHTTP_NO_REFERER,

                                   WINHTTP_DEFAULT_ACCEPT_TYPES,

                                   WINHTTP_FLAG_SECURE );

  WinHttpQueryOption(hRequest, WINHTTP_OPTION_RESOLVE_TIMEOUT, &timeoutval, &size);

  printf(«current WINHTTP_OPTION_RESOLVE_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hRequest, WINHTTP_OPTION_CONNECT_TIMEOUT, &timeoutval, &size);

  printf(«current WINHTTP_OPTION_CONNECT_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hRequest, WINHTTP_OPTION_SEND_TIMEOUT, &timeoutval, &size);

  printf(«current WINHTTP_OPTION_SEND_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hRequest, WINHTTP_OPTION_RECEIVE_TIMEOUT, &timeoutval, &size);

  printf(«current WINHTTP_OPTION_RECEIVE_TIMEOUT: %dn», timeoutval);  

  printf( «——————————————————————————-n»);

  _strtime_s( timeStr );
  printf( «Before WinHttpSendRequest time is %s n», timeStr);  

  // Send a request.
  if( hRequest )
  {
          bResults = WinHttpSendRequest( hRequest,

                                   WINHTTP_NO_ADDITIONAL_HEADERS, 0,

                                   WINHTTP_NO_REQUEST_DATA, 0,

                                   0, 0 );

          _strtime_s( timeStr );
          printf( «After WinHttpSendRequest time is %s, errno: %d n», timeStr, GetLastError( ));

  }

 

  // Receive response
  if( bResults )
  {
        bResults = WinHttpReceiveResponse( hRequest, NULL );

        _strtime_s( timeStr );
        printf( «Afer WinHttpReceiveResponse time is %s, errno: %d n», timeStr, GetLastError( ));

  }

  // Keep checking for data until there is nothing left.
  if( bResults )
  {
    do
    {
      // Check for available data.
      dwSize = 0;
      if( !WinHttpQueryDataAvailable( hRequest, &dwSize ) )
        printf( «Error %u in WinHttpQueryDataAvailable.n»,

                GetLastError( ) );

      // Allocate space for the buffer.
      pszOutBuffer = new char[dwSize+1];
      if( !pszOutBuffer )
      {
        printf( «Out of memoryn» );
        dwSize=0;
      }
      else
      {
        // Read the data.
        ZeroMemory( pszOutBuffer, dwSize+1 );

        if( !WinHttpReadData( hRequest, (LPVOID)pszOutBuffer,

                              dwSize, &dwDownloaded ) )

          printf( «Error %u in WinHttpReadData.n», GetLastError( ) );

        else
          printf( «%s», pszOutBuffer );

        // Free the memory allocated to the buffer.
        delete [] pszOutBuffer;
      }
    } while( dwSize > 0 );
  }

 
  // Report any errors.
  if( !bResults )
    printf( «Error %d has occurred.n», GetLastError( ) );

  // Close any open handles.
  if( hRequest ) WinHttpCloseHandle( hRequest );
  if( hConnect ) WinHttpCloseHandle( hConnect );
  if( hSession ) WinHttpCloseHandle( hSession );

 
  return 0;
}

The Client sends some data to Server via HttpSendRequest:

            if (!HttpSendRequest(request.get(), NULL, 0,
                     const_cast<char *>(request_body.data()),
                     static_cast<DWORD>(request_body.size()))) {
                // return false;
            }

My Server received all data in request_body then send response:

            char success_message[] =
                    "HTTP/1.1 200 OK" "n"
                    "Content-Type: text/xml; charset=utf-8" "n"
                    "Content-Length: 0" "n";

(I send this response via socket)
but in client HttpSendRequest block ~10 seconds then return FALSE with error 12002 return from GetLastError().

So my question is:

  1. Is my reponse message in wrong format?
  2. When HttpSendRequest return from blocking?

Edit 1:
this is the request from client, there are more data but not need, i though

    POST / HTTP/1.1
    Content-Type: multipart/form-data; boundary=---------------------------0000002900004823
    User-Agent: Breakpad/1.0 (Windows)
    Host: 127.0.0.1:1519
    Content-Length: 437805
    Cache-Control: no-cache

    -----------------------------0000002900004823
    Content-Disposition: form-data; name="channel"


    -----------------------------0000002900004823

The Client sends some data to Server via HttpSendRequest:

            if (!HttpSendRequest(request.get(), NULL, 0,
                     const_cast<char *>(request_body.data()),
                     static_cast<DWORD>(request_body.size()))) {
                // return false;
            }

My Server received all data in request_body then send response:

            char success_message[] =
                    "HTTP/1.1 200 OK" "n"
                    "Content-Type: text/xml; charset=utf-8" "n"
                    "Content-Length: 0" "n";

(I send this response via socket)
but in client HttpSendRequest block ~10 seconds then return FALSE with error 12002 return from GetLastError().

So my question is:

  1. Is my reponse message in wrong format?
  2. When HttpSendRequest return from blocking?

Edit 1:
this is the request from client, there are more data but not need, i though

    POST / HTTP/1.1
    Content-Type: multipart/form-data; boundary=---------------------------0000002900004823
    User-Agent: Breakpad/1.0 (Windows)
    Host: 127.0.0.1:1519
    Content-Length: 437805
    Cache-Control: no-cache

    -----------------------------0000002900004823
    Content-Disposition: form-data; name="channel"


    -----------------------------0000002900004823
Icon Ex Номер ошибки: Ошибка 12002
Название ошибки: IE Error 12002
Описание ошибки: Ошибка 12002: Возникла ошибка в приложении Internet Explorer. Приложение будет закрыто. Приносим извинения за неудобства.
Разработчик: Microsoft Corporation
Программное обеспечение: Internet Explorer
Относится к: Windows XP, Vista, 7, 8, 10, 11

«IE Error 12002» Введение

Как правило, практикующие ПК и сотрудники службы поддержки знают «IE Error 12002» как форму «ошибки во время выполнения». Разработчики программного обеспечения пытаются обеспечить, чтобы программное обеспечение было свободным от этих сбоев, пока оно не будет публично выпущено. К сожалению, такие проблемы, как ошибка 12002, могут не быть исправлены на этом заключительном этапе.

Ошибка 12002 также отображается как «IE Error 12002». Это распространенная ошибка, которая может возникнуть после установки программного обеспечения. Если происходит «IE Error 12002», разработчикам будет сообщено об этой проблеме, хотя отчеты об ошибках встроены в приложение. Microsoft Corporation вернется к коду и исправит его, а затем сделает обновление доступным для загрузки. Таким образом, когда ваш компьютер выполняет обновления, как это, это, как правило, чтобы исправить проблемы ошибки 12002 и другие ошибки внутри Internet Explorer.

Проблема с исходным кодом Internet Explorer приведет к этому «IE Error 12002», чаще всего на этапе запуска. Мы можем определить происхождение ошибок ошибки 12002 во время выполнения следующим образом:

Ошибка 12002 Crash — она называется «Ошибка 12002», когда программа неожиданно завершает работу во время работы (во время выполнения). Эти ошибки обычно возникают, когда входы Internet Explorer не могут быть правильно обработаны, или они смущены тем, что должно быть выведено.

Утечка памяти «IE Error 12002» — при утечке памяти Internet Explorer это может привести к медленной работе устройства из-за нехватки системных ресурсов. Повреждение памяти и другие потенциальные ошибки в коде могут произойти, когда память обрабатывается неправильно.

Ошибка 12002 Logic Error — логическая ошибка Internet Explorer возникает, когда она производит неправильный вывод, несмотря на то, что пользователь предоставляет правильный ввод. Это связано с ошибками в исходном коде Microsoft Corporation, обрабатывающих ввод неправильно.

Основные причины Microsoft Corporation ошибок, связанных с файлом IE Error 12002, включают отсутствие или повреждение файла, или, в некоторых случаях, заражение связанного Internet Explorer вредоносным ПО в прошлом или настоящем. Возникновение подобных проблем является раздражающим фактором, однако их легко устранить, заменив файл Microsoft Corporation, из-за которого возникает проблема. Если ошибка IE Error 12002 возникла в результате его удаления по причине заражения вредоносным ПО, мы рекомендуем запустить сканирование реестра, чтобы очистить все недействительные ссылки на пути к файлам, созданные вредоносной программой.

Типичные ошибки IE Error 12002

Обнаруженные проблемы IE Error 12002 с Internet Explorer включают:

  • «Ошибка IE Error 12002. «
  • «Ошибка программного обеспечения Win32: IE Error 12002»
  • «Извините, IE Error 12002 столкнулся с проблемой. «
  • «К сожалению, мы не можем найти IE Error 12002. «
  • «Отсутствует файл IE Error 12002.»
  • «Ошибка запуска программы: IE Error 12002.»
  • «IE Error 12002 не выполняется. «
  • «IE Error 12002 остановлен. «
  • «Ошибка в пути к программному обеспечению: IE Error 12002. «

Ошибки IE Error 12002 EXE возникают во время установки Internet Explorer, при запуске приложений, связанных с IE Error 12002 (Internet Explorer), во время запуска или завершения работы или во время установки ОС Windows. При появлении ошибки IE Error 12002 запишите вхождения для устранения неполадок Internet Explorer и чтобы HelpMicrosoft Corporation найти причину.

Источники проблем IE Error 12002

Эти проблемы IE Error 12002 создаются отсутствующими или поврежденными файлами IE Error 12002, недопустимыми записями реестра Internet Explorer или вредоносным программным обеспечением.

В частности, проблемы IE Error 12002 возникают через:

  • Недопустимая (поврежденная) запись реестра IE Error 12002.
  • Загрязненный вирусом и поврежденный IE Error 12002.
  • Другая программа злонамеренно или по ошибке удалила файлы, связанные с IE Error 12002.
  • Другое приложение, конфликтующее с IE Error 12002 или другими общими ссылками.
  • Internet Explorer/IE Error 12002 поврежден от неполной загрузки или установки.

Продукт Solvusoft

Загрузка
WinThruster 2022 — Проверьте свой компьютер на наличие ошибок.

Совместима с Windows 2000, XP, Vista, 7, 8, 10 и 11

Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление

@ras0219-msft is it ok that vcpkg is still broken when installed behind a proxy?

A clean vcpkg installation on windows fails to download powershell, 7-zip and nuget just at the beginning, when installing your first library.

Subsequent downloads are working (they still often fail for no apparent reason at all) , the first three nope and I have to download them manually from a browser and move them inside the vcpkg/downloads folder.
I still didn’t inspect why, but these downloads are done in a different way (broken, it seems), because they are totally not tested for proxy support. Also the fact that proxy support is so weak that usually I prefer to do the «download-only» part on the WSL side is depressing (same pc, same proxy, somehow the linux part is more proxy resilient), so that I don’t fear of finding the update stopped because one of the library failed to download (never happened when not using proxy).

Just to let you know, vcpkg on windows is the only program that gives me any problem with «dropped internet connection», so i’d not declare our proxy as guilty. Also, even when vcpkg is failing repeatedly, any browser installed can download the tar.gz with no problem, and as I said also the WSL version can, without any annoyance.

Please fix it. For any enterprise adoption of vcpkg, a proper proxy support is a deal breaker. It’s still far from being here.

Подскажите пожалуйста, что означает ошибка 12002 полученная с помощью GetLastError() после HttpSendRequest()?
В MSDN (апрель 2003) ничего про эту ошибку не нашел . Код вызвавший ошибку:

    fprintf(streamLog,"Sending POST to server %s, script %sn",m_sURL,m_sScript);
    static TCHAR hdrs[] = _T("Content-Type: application/x-www-form-urlencodedrn");
    LPCSTR acc = "Accept: */*";
    HINTERNET hSession = InternetOpen("Microsoft Internet Explorer", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
    if(hSession != NULL) {
        HINTERNET hConnect = InternetConnect(hSession, m_sURL,INTERNET_DEFAULT_HTTPS_PORT, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 1);
        if(hConnect != NULL) {
            HINTERNET hRequest = HttpOpenRequest(hConnect, "POST", m_sScript,NULL, NULL, &acc, INTERNET_FLAG_SECURE, 1);
            if(hRequest != NULL) { 
                BOOL res = HttpSendRequest(hRequest, hdrs, strlen(hdrs), m_sPOST.GetBuffer(), m_sPOST.GetLength());
                if (res) {
                    fprintf(streamLog,"Sending request validn");
                    bFlag = true;
                } else {
                    DWORD dw = GetLastError();

                    LPVOID lpMsgBuf;
                    FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | 
                                FORMAT_MESSAGE_FROM_SYSTEM | 
                                FORMAT_MESSAGE_IGNORE_INSERTS,
                                NULL,
                                dw,
                                MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
                                (LPTSTR) &lpMsgBuf,
                                0,
                                NULL);
                    fprintf(streamLog,"Error during sending request (%s): [%d] %sn",m_sPOST,dw,(LPCTSTR)lpMsgBuf);        
                    LocalFree( lpMsgBuf );
                }

                const DWORD sz = 1000;
                char     Buffer[sz];
                DWORD    bytesRead ;

                BOOL readFile = InternetReadFile(hRequest, Buffer, sz, &bytesRead);
                fprintf(streamLog,"nnReceived:n");
                for (int j=0;j<bytesRead;j++)
                    fprintf(streamLog,"%c",Buffer[j]);
                
                InternetCloseHandle(hRequest);
            } else
                fprintf(streamLog,"Request failedn");
            InternetCloseHandle(hConnect);
        } else
            fprintf(streamLog,"Connect not openedn");
        InternetCloseHandle(hSession);
    } else 
        fprintf(streamLog,"Session not openedn");

Заранее большое спасибо, за помощь!

… << RSDN@Home 1.1.3 stable >>

12002 ERROR_INTERNET_TIMEOUT
The request has timed out.
Плохо ищите — это нашел в МСДН

При переходе на банковские сайты, иногда пользователи сталкиваются с ошибками, которые имеют код 20, 2000, 20 01. Все три ошибки имеют схожий характер, так как появляется на экране предупреждение, что нет интернет-соединения. Пользователю могут порекомендовать проверить интернет и попробовать зайти на банковский сайт снова. Но часто дело не только в этом, а есть и другие причины появления ошибки.

Также такую ошибку заметили пользователи Сбербанк Онлайн. Там появился ещё один код – 60-02. При появлении такой ошибки, абонент не может зайти в личный кабинет для совершения любых операций. Устранить ошибку можно несколькими способами, но сначала нужно найти проблему.

Причины появления ошибок на банковских сайтах

Их может быть несколько, хотя уведомление всегда одинаковое, что сейчас проблемы с интернетом. Это может быть:

Решение проблемы с доступом к Сбербанк Онлайн

Есть несколько решений исправить код ошибки 20 02,20-00, 20-01 Сбербанк Онлайн, в зависимости от самой проблемы. Поэтому можно сделать следующее:

Начинать поиски проблемы нужно с проверки подключения к Wi-Fi или мобильному интернету. Часто связь становится хуже, когда абонент находится в лифте, в метро или за городом. Если с этим проблем нет, тогда можно пробовать другие методы. Если же у вас было подключение в Wi-Fi, то можете переключиться на мобильный интернет или же наоборот. Попробуйте перезагрузить роутер или устройство, с которого пытаетесь загрузить онлайн-банк.

Важно помнить, что если вы находитесь вне зоны действия сети или же связь слабая, то скорость интернета становится меньше. Поэтому может появляться одна из ошибок.

Само приложение Сбербанк онлайн не требует большого объема трафика. Но если он совсем слабый и долгое время страница не загружается, то может появится окно с ошибкой. Тогда лучше сменить место и снова попробовать подключиться. Ещё связь может теряться на телефонах, у которых была повреждена плата от воды или другого механического воздействия.

Что делать при проблеме с сервером

В таком случае клиент ничего не может сделать со своей стороны. Он может проверить работоспособность устройства, с которого пытается запустить программу и не больше. Абоненту остается подождать несколько часов и попробовать зайти в Сбербанк-онлайн снова.

Коды ошибок Dr. Web

Dr. Web считается российским разработчиком антивирусных программ, сервисов для предоставления информационных услуг корпоративным, частным пользователям. Кроме того, “Доктор Веб” – популярная антивирусная программа, установка которой нередко сопряжена с неполадками. Ниже представлены популярные коды ошибок Dr. Web и их расшифровка.

Ошибка 2

Ошибка dr web 2 свидетельствует о сбое в процессе обновления. Она вызывается несколькими причинами. Чтобы ее исправить, необходимо проверить доступность сети, правильность настроек прокси при их использовании. Если сеть доступна, прокси настроен правильно, необходимо выполнить ряд действий, направленных на восстановление системы с антивирусом. Возможно, проблема исчезнет.

Устранить проблему можно тремя путями:

Ошибка 9

Проблема состоит в невозможности подключения к серверам обновления. Ошибку можно решить двумя способами. В первом случае в антивирусных настройках не написаны параметры серверного прокси или имеются проблемы, связанные с интернет подключением. При применении прокси необходимо:

Важно! Если прокси не применяется, следует проверить сетевое соединение и при необходимости настроить его.

Во втором случае код появляется, когда на серверах обновлений нет, однако части серверов обновления нет. Поскольку код 9 говорит об отсутствии свежих обновлений, то никаких действий предпринимать не стоит. Антивирус в назначенный час будет автоматически обновлен.

Ошибка 10

Суть проблемы состоит в репозиторие, сбое в скриптах, отсутствии некоторых из них. Решать проблему необходимо, переустановив антивирус. Для решения вопроса, следует скачать с официального сайта антивирусную программу. Удалить предыдущую версию программы, сделать перезагрузку компьютера, далее запустить антивирус и при установке указать путь к файлу. Сделать повторную перезагрузку компьютера.

Ошибка 11

Проблема заключается в невозможности обновления антивирусных компонентов. Код 11 высвечивается по ряду причин. Нередко его появление связано с использованием устаревшей антивирусной версии или с повреждением файлов. Если используется устаревшая версия антивируса, необходимо удалить старую и закачать новую программу.

Если файлы повреждены вследствие проблем с диском, следует исправить все ошибки диска, восстановить антивирусную систему. Восстановление можно провести через следующую пошаговую инструкцию: Пуск, Панель управления, Программы и компоненты, Dr. Web, Изменить, Восстановить. После восстановления, потребуется перезагрузить персональный компьютер, проверить, как работают обновления.

Ошибка 12

Суть вопроса в блокировке лицензии. Зачастую она возникает при отсутствии ее активации, активации старой, лицензированной версией, использовании лицензии на другом персональном компьютере. Если не активирована лицензия, необходимо активировать ее через менеджер лицензий. Достаточно удалить заблокированную лицензию и оставить одну действующую.

Если проблема заключается в автоматически блокируемой лицензии, необходимо указать новую при антивирусной регистрации через Менеджер лицензий. Если используемое разрешение было использовано раньше на другом персональном компьютере, необходимо обратиться в техническую поддержку, приложив документы, подтверждающие владение лицензией.

Ошибка 16

По этой ошибке установить и работать с антивирусом невозможно из-за действия сторонних программ. Есть несколько основных причин, почему возникает неполадка. В системе могут находиться другие антивирусы или частично установленные файлы. Также в системе могут находиться вредоносные ПО, блокирующие установку антивирусной программы. Необходимо использовать бесплатную утилиту, чтобы очистить персональный компьютер от вирусов, после чего повторить установку.

Ошибка 32

32 ошибка Доктор Веб заключается в неполадке установке или восстановлении антивирусной программы. Она появляется, если есть критические повреждения в момент невозможности установки, восстановления продукта по каким-то причинам. Следует загрузить, установить утилиту, после чего перезагрузить персональный компьютер, повторно установить программу.

Ошибка 33

Сбой под кодом 33 связан с работой базы данных, невозможности совершения обновления программы из-за повреждения программного обеспечения сервера. В такой ситуации необходимо обратиться в службу поддержки, возможно, базу данных удастся восстановить инженерам.

Ошибка 110

110 неполадка связана с неполадкой установки серверных продуктов. Она вызывается разными причинами, поэтому необходимо обратиться в техническую поддержку, приложить отчет, который создан с помощью утилита.

Ошибка 902

Суть неполадки состоит в неправильной установке, удалении. Она возникает, если повреждаются антивирусные файлы, не полностью или некорректно был удален старый антивирус.

В такой ситуации необходимо сделать очистку системы от антивирусных остатков, а после завершения процедуры стоит повторно запустить установку. Если проблема сохраняется, следует направиться в техническую поддержку.

Ошибка 914

Коды ошибок Доктор Веб 914 и 910 говорят о том, что произошел сбой компонентов продукта. В такой ситуации необходимо переустановить антивирус.

Если удаление с помощью стандартных средств оканчивается неудачей, следует скачать официальную утилиту и перезагрузить персональный компьютер. Если код продолжает высвечиваться, программисты советуют написать в службу поддержки.

Ошибка 1066

Неполадка связана с невозможностью установки антивируса, если есть несовместимое программное обеспечение с утилитой. Зачастую проблема возникает с агента Доктора Веб, если на ПК уже установлен другой антивирусник. Необходимо выполнить его удаление, а позднее – повтор попытки установки Доктора Веб.

Если появляются сложности или невозможно определить несовместимую программу, следует обратиться к специалистам службы технической поддержки.

Ошибка 1722

Ошибка связана с установкой, работой антивирусника, проблемой с его сканированием. В такой ситуации следует отправить отчет о неисправной работе программы в техническую поддержку.

Ошибка 1726

Ошибка связана с некорректным запуском программы. Причинами служат основные четыре пункта. Неполадка связана с поврежденной загрузкой или неполной установкой программного обеспечения, повреждением реестра Доктор Веб из-за установки или удаления утилиты.

Может появляться из-за наличия в системы вируса, вредоносного программного обеспечения, повреждения файла Виндовс или удаления файлов утилиты другой программой.

Ошибка может быть связана с другими факторами, поэтому при совершении всех действий, направленных на решение возникшей проблемы, следует обратиться в техническую поддержку.

Что можно сделать? Специалисты рекомендуют в такой ситуации восстановить записи реестра, полностью просканировать компьютер на вирусы, очистить ПО от временных файлов, папок и другого мусора. Они советуют также обновить драйверы компьютера, использовать Восстановление Виндовс системы для отмены последних изменений в ПО, переустановить программу заново, запустить проверку системных Виндовс файлов, установить доступные Виндовс обновления и произвести чистую установку Виндовс.

15) Ошибка 12002

Суть заключается в неполадке с сетью, неправильной настройке сетевых соединений, неверно выбранных параметров серверного прокси, особенностью настройки сетевого подключения. Специалисты рекомендуют по этой проблеме проверить доступность интернет-сети, настройку брандмауэра, серверного прокси.

Если раньше не было выполнено этого действия, следует зарегистрировать лицензию, получить ключевой файл. Потом активировать полученный на майл ключевой файл, используя лицензионный менеджер. В случае отсутствия понимания, как убрать код 12002 с компьютера, программисты советуют составлять письмо в техническую поддержку. Желательно при этом прикреплять отчет с выполненными ранее действиями.

Ошибка 12007

Неполадка возникает из-за отсутствия доступа к сети, неправильной настройки сетевых соединений, неверных параметров серверного прокси, особенности настройки сетевого подключения на рабочем месте. При возникновении подобной ошибки необходимо проверить доступность интернет-сети, настроек брандмауэра, серверного прокси.

Важно! Если перечисленные выше действия были проделаны, а неполадка не исправлена, специалисты рекомендуют обратиться в службу технической поддержки. Для того чтобы сотрудники смогли оперативно помочь в ситуации, инженеры рекомендуют заранее делать подробный отчет о проделанных ранее действиях для устранения появляющегося кода при запуске утилиты.

Ошибка 12029

Ошибка связана с сетевыми неполадками, неправильной настройкой сетевых соединений, неверными параметрами серверного прокси. Нередко она сопряжена с тем, что пользователю не удается настроить сетевое подключение на рабочем столе. Также часто она связана с ошибкой в модуле обновления. Специалисты рекомендуют в таком случае действовать двумя путями:

При сохранении ошибки, инженеры рекомендуют сделать переустановку антивируса. В таком случае следует скачать с сайта актуальный антивирусный дистрибутив. Потом удалить Доктор Веб предыдущей версии, используя “Панель управления”, “Установку и удаление программ”. Затем перезагрузить компьютер, скачать, запустить утилиту, перезагрузить компьютер, запустить антивирус и еще раз сделать перезагрузку операционной системы устройства.

Важно! Если после переустановки ошибка продолжит появляться, следует сделать отчет через DwSysInfo и отправить его специалистам службы техподдержки.

Ошибка 12152

Ошибка связи с сервером обозначается кодом 12152. При ее появлении специалисты рекомендуют проверить интернет – соединение, очистить компьютер от вредоносных ПО, почистить ПО от ненужных файлов, сделать переустановку антивирусника, перезагрузить компьютер или написать в службу технической поддержки, прикрепив отчет о проведенных действиях для устранения неполадки. Сотрудники Доктор Веб отвечают быстро и, в основном, помогают решить возникшую сложность быстро.

В результате, для решения основных проблем, связанных с некорректной работой антивируса Доктор Веб, следует связаться со специалистами службы технической поддержки, сформировав отчет через представленную выше программу. Прежде рекомендуется посмотреть работоспособность сети, проверить ПО на вирусы, ненужные папки и попробовать переустановить антивирус заново.

Источники:

Https://atki. ru/kod-oshibki-20-02-00-20-01-sberbank-onlajn/

Https://dr-web-cureit-free. ru/kody-oshibok-dr-web/

I using System.net.HTTPClient on Berlin Update 2 for download big files (>500 MB) from AWS S3 with this unit:

unit AcHTTPClient;

interface

uses
  System.Net.URLClient, System.net.HTTPClient;

type
  TAcHTTPProgress = procedure(const Sender: TObject; AStartPosition : Int64; AEndPosition: Int64; AContentLength: Int64; AReadCount: Int64; ATimeStart : Int64; ATime : Int64; var Abort: Boolean) of object;
  TAcHTTPClient = class
    private
      FOnProgress:     TAcHTTPProgress;
      FHTTPClient:     THTTPClient;
      FTimeStart:      cardinal;
      FCancelDownload: boolean;
      FStartPosition:  Int64;
      FEndPosition:    Int64;
      FContentLength:  Int64;
    private
      procedure   SetProxySettings(AProxySettings: TProxySettings);
      function    GetProxySettings : TProxySettings;
      procedure   OnReceiveDataEvent(const Sender: TObject; AContentLength: Int64; AReadCount: Int64; var Abort: Boolean);
    public
      constructor Create;
      destructor  Destroy; override;
      property    ProxySettings : TProxySettings read FProxySettings write SetProxySettings;
      property    OnProgress : TAcHTTPProgress read FOnProgress write FOnProgress;
      property    CancelDownload : boolean read FCancelDownload write FCancelDownload;
      function    Download(const ASrcUrl : string; const ADestFileName : string): Boolean;
  end;

implementation

uses
  System.Classes, System.SysUtils, Winapi.Windows;

constructor TAcHTTPClient.Create;
// -----------------------------------------------------------------------------
// Constructor
begin
  inherited Create;

  // create an THTTPClient
  FHTTPClient := THTTPClient.Create;
  FHTTPClient.OnReceiveData := OnReceiveDataEvent;

  // setting the timeouts
  FHTTPClient.ConnectionTimeout :=  5000;
  FHTTPClient.ResponseTimeout   := 15000;

  // initialize the class variables
  FCancelDownload := false;
  FOnProgress     := nil;
  FEndPosition    := -1;
  FStartPosition  := -1;
  FContentLength  := -1;
end;


destructor TAcHTTPClient.Destroy;
// -----------------------------------------------------------------------------
// Destructor
begin
  FHTTPClient.free;

  inherited Destroy;
end;


procedure TAcHTTPClient.SetProxySettings(AProxySettings: TProxySettings);
// -----------------------------------------------------------------------------
// Set FHTTPClient.ProxySettings with AProxySettings
begin
  FHTTPClient.ProxySettings := AProxySettings;
end;


function TAcHTTPClient.GetProxySettings : TProxySettings;
// -----------------------------------------------------------------------------
// Get FHTTPClient.ProxySettings
begin
  Result := FHTTPClient.ProxySettings;
end;


procedure TAcHTTPClient.OnReceiveDataEvent(const Sender: TObject; AContentLength: Int64; AReadCount: Int64; var Abort: Boolean);
// -----------------------------------------------------------------------------
// HTTPClient.OnReceiveDataEvent become OnProgress
begin
  Abort := CancelDownload;

  if Assigned(OnProgress) then
    OnProgress(Sender, FStartPosition, FEndPosition, AContentLength, AReadCount, FTimeStart, GetTickCount,  Abort);
end;


function TAcHTTPClient.Download(const ASrcUrl : string; const ADestFileName : string): Boolean;
// -----------------------------------------------------------------------------
// Download a file from ASrcUrl and store to ADestFileName
var
  aResponse:           IHTTPResponse;
  aFileStream:         TFileStream;
  aTempFilename:       string;
  aAcceptRanges:       boolean;
  aTempFilenameExists: boolean;
begin
  Result         := false;
  FEndPosition   := -1;
  FStartPosition := -1;
  FContentLength := -1;

  aResponse   := nil;
  aFileStream := nil;
  try
    // raise an exception if the file already exists on ADestFileName 
    if FileExists(ADestFileName) then
      raise Exception.Create(Format('the file %s alredy exists', [ADestFileName]));

    // reset the CancelDownload property
    CancelDownload := false;

    // set the time start of the download
    FTimeStart := GetTickCount;

    // until the download is incomplete the ADestFileName has *.parts extension 
    aTempFilename := ADestFileName + '.parts';

    // get the header from the server for aSrcUrl
    aResponse := FHTTPClient.Head(aSrcUrl);

    // checks if the response StatusCode is 2XX (aka OK) 
    if (aResponse.StatusCode < 200) or (aResponse.StatusCode > 299) then
      raise Exception.Create(Format('Server error %d: %s', [aResponse.StatusCode, aResponse.StatusText]));

    // checks if the server accept bytes ranges 
    aAcceptRanges := SameText(aResponse.HeaderValue['Accept-Ranges'], 'bytes');

    // get the content length (aka FileSize)
    FContentLength := aResponse.ContentLength;

    // checks if a "partial" download already exists
    aTempFilenameExists := FileExists(aTempFilename);

    // if a "partial" download already exists
    if aTempFilenameExists then
    begin
      // re-utilize the same file stream, with position on the end of the stream
      aFileStream := TFileStream.Create(aTempFilename, fmOpenWrite or fmShareDenyNone);
      aFileStream.Seek(0, TSeekOrigin.soEnd);
    end else begin
      // create a new file stream, with the position on the beginning of the stream
      aFileStream := TFileStream.Create(aTempFilename, fmCreate);
      aFileStream.Seek(0, TSeekOrigin.soBeginning);
    end;

    // if the server doesn't accept bytes ranges, always start to write at beginning of the stream
    if not(aAcceptRanges) then
      aFileStream.Seek(0, TSeekOrigin.soBeginning);

    // set the range of the request (from the stream position to server content length)
    FStartPosition := aFileStream.Position;
    FEndPosition   := FContentLength;

    // if the range is incomplete (the FStartPosition is less than FEndPosition)
    if (FEndPosition > 0) and (FStartPosition < FEndPosition) then
    begin
      // ... and if a starting point is present
      if FStartPosition > 0 then
      begin
        // makes a bytes range request from FStartPosition to FEndPosition
        aResponse := FHTTPClient.GetRange(aSrcUrl, FStartPosition, FEndPosition, aFileStream);
      end else begin
        // makes a canonical GET request
        aResponse := FHTTPClient.Get(aSrcUrl, aFileStream);
      end;

      // check if the response StatusCode is 2XX (aka OK) 
      if (aResponse.StatusCode < 200) or (aResponse.StatusCode > 299) then
        raise Exception.Create(Format('Server error %d: %s', [aResponse.StatusCode, aResponse.StatusText]));
    end;

    // if the FileStream.Size is equal to server ContentLength, the download is completed!
    if (aFileStream.Size > 0) and (aFileStream.Size = FContentLength) then begin

      // free the FileStream otherwise doesn't renames the "partial file" into the DestFileName
      FreeAndNil(aFileStream);

      // renames the aTempFilename file into the ADestFileName 
      Result := RenameFile(aTempFilename, ADestFileName);

      // What?
      if not(Result) then
        raise Exception.Create(Format('RenameFile from %s to %s: %s', [aTempFilename, ADestFileName, SysErrorMessage(GetLastError)]));
    end;
  finally
    if aFileStream <> nil then aFileStream.Free;
    aResponse := nil;
  end;
end;

end.

sometime i see this exception:

Error reading data: (12002) The operation timed out

i have found this error string into System.NetConsts.pas:

SNetHttpRequestReadDataError = 'Error reading data: (%d) %s';

and the error is raised into System.Net.HttpClient.Win.pas (see @SNetHttpRequestReadDataError):

procedure TWinHTTPResponse.DoReadData(const AStream: TStream);
var
  LSize: Cardinal;
  LDownloaded: Cardinal;
  LBuffer: TBytes;
  LExpected, LReaded: Int64;
  LStatusCode: Integer;
  Abort: Boolean;
begin
  LReaded := 0;
  LExpected := GetContentLength;
  if LExpected = 0 then
    LExpected := -1;
  LStatusCode := GetStatusCode;
  Abort := False;
  FRequestLink.DoReceiveDataProgress(LStatusCode, LExpected, LReaded, Abort);
  if not Abort then
    repeat
      // Get the size of readed data in LSize
      if not WinHttpQueryDataAvailable(FWRequest, @LSize) then
        raise ENetHTTPResponseException.CreateResFmt(@SNetHttpRequestReadDataError, [GetLastError, SysErrorMessage(GetLastError, FWinHttpHandle)]);

      if LSize = 0 then
        Break;

      SetLength(LBuffer, LSize + 1);

      if not WinHttpReadData(FWRequest, LBuffer[0], LSize, @LDownloaded) then
        raise ENetHTTPResponseException.CreateResFmt(@SNetHttpRequestReadDataError, [GetLastError, SysErrorMessage(GetLastError, FWinHttpHandle)]);

      // This condition should never be reached since WinHttpQueryDataAvailable
      // reported that there are bits to read.
      if LDownloaded = 0 then
        Break;

      AStream.WriteBuffer(LBuffer, LDownloaded);
      LReaded := LReaded + LDownloaded;
      FRequestLink.DoReceiveDataProgress(LStatusCode, LExpected, LReaded, Abort);
    until (LSize = 0) or Abort;
end;

What caused this error?

Hi,

I’m trying to configure the the client side WinHTTP connect/send/receive timeout on Windows 7/2008. However they don’t seem to take effect.

Instead WinHttpSendRequest comes back with 12002 always after 21 seconds when trying with a fake IP as destination (not sure how else to simulate).

It may worth mentioning that I tried both by using WinHttpSetTimeouts and by setting each option individually with WinHttpSetOption with no difference.

The results of my quick test look like this:

WinHttpUsageExample.exe «10.20.30.40» 50 (timeout in secs)

default WINHTTP_OPTION_RESOLVE_TIMEOUT: -1
default WINHTTP_OPTION_CONNECT_TIMEOUT: 60000
default WINHTTP_OPTION_SEND_TIMEOUT: 30000
default WINHTTP_OPTION_RECEIVE_TIMEOUT: 30000
——————————————————————————-

current WINHTTP_OPTION_RESOLVE_TIMEOUT: 50000
current WINHTTP_OPTION_CONNECT_TIMEOUT: 50000
current WINHTTP_OPTION_SEND_TIMEOUT: 50000
current WINHTTP_OPTION_RECEIVE_TIMEOUT: 50000
——————————————————————————-

Before WinHttpSendRequest time is 16:36:28
After WinHttpSendRequest time is 16:36:49, errno: 12002
Error 12002 has occurred.

Could this be a WinHTTP bug?

Am I not simulating correctly? How to then?

Could it be in this case that the ERROR_WINHTTP_TIMEOUT is returned as result of lower tcp level timeout(s) expiration (not mentioned in WinHTTP doc)?

Pretty much in the dark here. Any help would be highly appreciated.

Cheers,
Bogdan

Also, in case one may be curious, here’s the source of my small test program:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <windows.h>
#include <winhttp.h>
#include <time.h>

static wchar_t* charToWChar(const char* text)
{
    size_t size = strlen(text) + 1;
    wchar_t* wa = new wchar_t[size];
    mbstowcs(wa,text,size);
    return wa;
}

int main(int argc, char* argv[])
{
  DWORD dwSize = 0;
  DWORD dwDownloaded = 0;
  LPSTR pszOutBuffer;
  BOOL  bResults = FALSE;
  HINTERNET  hSession = NULL,
             hConnect = NULL,
             hRequest = NULL;

  DWORD timeoutval = 0;
  DWORD size = sizeof(DWORD);
  wchar_t *httpserver = NULL;  
  char timeStr [9];    

  if(argc < 3)
  {
          printf( «usage: WinHttpUsageExample.exe <http server name/address> <winhttp global timeout in seconds>n»);

          return 0;
  }

  // Use WinHttpOpen to obtain a session handle.
  hSession = WinHttpOpen( L»WinHTTP Example/1.0″,  
                          WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,

                          WINHTTP_NO_PROXY_NAME,

                          WINHTTP_NO_PROXY_BYPASS, 0 );

  WinHttpQueryOption(hSession, WINHTTP_OPTION_RESOLVE_TIMEOUT, &timeoutval, &size);

  printf(«default WINHTTP_OPTION_RESOLVE_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hSession, WINHTTP_OPTION_CONNECT_TIMEOUT, &timeoutval, &size);

  printf(«default WINHTTP_OPTION_CONNECT_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hSession, WINHTTP_OPTION_SEND_TIMEOUT, &timeoutval, &size);

  printf(«default WINHTTP_OPTION_SEND_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hSession, WINHTTP_OPTION_RECEIVE_TIMEOUT, &timeoutval, &size);

  printf(«default WINHTTP_OPTION_RECEIVE_TIMEOUT: %dn», timeoutval);

  printf( «——————————————————————————-n»);

  timeoutval = atol(argv[2]) * 1000; //convert seconds to milliseconds
  httpserver = charToWChar( argv[1] ); // convert the string type

  /* Use WinHttpSetTimeouts to set a new time-out values (resolve, connect, send, receive) */

  if (!WinHttpSetTimeouts( hSession, timeoutval, timeoutval, timeoutval, timeoutval))

  {
       printf(«Error %u in WinHttpSetTimeouts.n», GetLastError());

  }

  // Specify an HTTP server.
  if( hSession )
    hConnect = WinHttpConnect( hSession, httpserver,
                               INTERNET_DEFAULT_HTTPS_PORT, 0 );

  // Create an HTTP request handle.
  if( hConnect )
    hRequest = WinHttpOpenRequest( hConnect, L»GET», NULL,
                                   NULL, WINHTTP_NO_REFERER,

                                   WINHTTP_DEFAULT_ACCEPT_TYPES,

                                   WINHTTP_FLAG_SECURE );

  WinHttpQueryOption(hRequest, WINHTTP_OPTION_RESOLVE_TIMEOUT, &timeoutval, &size);

  printf(«current WINHTTP_OPTION_RESOLVE_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hRequest, WINHTTP_OPTION_CONNECT_TIMEOUT, &timeoutval, &size);

  printf(«current WINHTTP_OPTION_CONNECT_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hRequest, WINHTTP_OPTION_SEND_TIMEOUT, &timeoutval, &size);

  printf(«current WINHTTP_OPTION_SEND_TIMEOUT: %dn», timeoutval);

  WinHttpQueryOption(hRequest, WINHTTP_OPTION_RECEIVE_TIMEOUT, &timeoutval, &size);

  printf(«current WINHTTP_OPTION_RECEIVE_TIMEOUT: %dn», timeoutval);  

  printf( «——————————————————————————-n»);

  _strtime_s( timeStr );
  printf( «Before WinHttpSendRequest time is %s n», timeStr);  

  // Send a request.
  if( hRequest )
  {
          bResults = WinHttpSendRequest( hRequest,

                                   WINHTTP_NO_ADDITIONAL_HEADERS, 0,

                                   WINHTTP_NO_REQUEST_DATA, 0,

                                   0, 0 );

          _strtime_s( timeStr );
          printf( «After WinHttpSendRequest time is %s, errno: %d n», timeStr, GetLastError( ));

  }

 
  // Receive response
  if( bResults )
  {
        bResults = WinHttpReceiveResponse( hRequest, NULL );

        _strtime_s( timeStr );
        printf( «Afer WinHttpReceiveResponse time is %s, errno: %d n», timeStr, GetLastError( ));

  }

  // Keep checking for data until there is nothing left.
  if( bResults )
  {
    do
    {
      // Check for available data.
      dwSize = 0;
      if( !WinHttpQueryDataAvailable( hRequest, &dwSize ) )
        printf( «Error %u in WinHttpQueryDataAvailable.n»,

                GetLastError( ) );

      // Allocate space for the buffer.
      pszOutBuffer = new char[dwSize+1];
      if( !pszOutBuffer )
      {
        printf( «Out of memoryn» );
        dwSize=0;
      }
      else
      {
        // Read the data.
        ZeroMemory( pszOutBuffer, dwSize+1 );

        if( !WinHttpReadData( hRequest, (LPVOID)pszOutBuffer,

                              dwSize, &dwDownloaded ) )

          printf( «Error %u in WinHttpReadData.n», GetLastError( ) );

        else
          printf( «%s», pszOutBuffer );

        // Free the memory allocated to the buffer.
        delete [] pszOutBuffer;
      }
    } while( dwSize > 0 );
  }

 
  // Report any errors.
  if( !bResults )
    printf( «Error %d has occurred.n», GetLastError( ) );

  // Close any open handles.
  if( hRequest ) WinHttpCloseHandle( hRequest );
  if( hConnect ) WinHttpCloseHandle( hConnect );
  if( hSession ) WinHttpCloseHandle( hSession );

 
  return 0;
}

@ras0219-msft is it ok that vcpkg is still broken when installed behind a proxy?

A clean vcpkg installation on windows fails to download powershell, 7-zip and nuget just at the beginning, when installing your first library.

Subsequent downloads are working (they still often fail for no apparent reason at all) , the first three nope and I have to download them manually from a browser and move them inside the vcpkg/downloads folder.
I still didn’t inspect why, but these downloads are done in a different way (broken, it seems), because they are totally not tested for proxy support. Also the fact that proxy support is so weak that usually I prefer to do the «download-only» part on the WSL side is depressing (same pc, same proxy, somehow the linux part is more proxy resilient), so that I don’t fear of finding the update stopped because one of the library failed to download (never happened when not using proxy).

Just to let you know, vcpkg on windows is the only program that gives me any problem with «dropped internet connection», so i’d not declare our proxy as guilty. Also, even when vcpkg is failing repeatedly, any browser installed can download the tar.gz with no problem, and as I said also the WSL version can, without any annoyance.

Please fix it. For any enterprise adoption of vcpkg, a proper proxy support is a deal breaker. It’s still far from being here.

Понравилась статья? Поделить с друзьями:
  • Ошибка wine ошибка в формате exe для
  • Ошибка windowsupdate 0000066a windowsupdate dt000 как исправить
  • Ошибка windowstimerfunctionsvalidator check readfromprotectedbuffer gta 4
  • Ошибка windows устройстве нет диска
  • Ошибка windows те driver is required