Загрузка файлов Setup.exe без использования cab-файлов по плохим соединениям - PullRequest
1 голос
/ 19 марта 2010

У нас есть клиенты, которые пытаются загрузить файл setup.exe по мобильным соединениям, которые выглядят очень медленными.

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

Они доставили нам проблемный планшет, и мы загрузили файл без проблем, но я мог повторитьпроблема с использованием https для загрузки файла (https обычно используется для доступа к остальной части сайта, хотя это не обязательно для загрузки).Когда я сделал это, загруженный файл был 2.8MB.Это должно быть 8 МБ.

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

Есть ли способ обеспечить загрузку файла полностью или его нет вообще?Почему браузер не показывает, что загрузка не завершена?

1 Ответ

2 голосов
/ 19 марта 2010

Скорее всего, веб-сервер, на котором находится EXE-файл, не отправляет Content-Length header . Если этот заголовок отсутствует, единственный способ, которым браузер может определить, завершена ли загрузка, - «когда байты перестают поступать», то есть соединение TCP / IP закрыто или время ожидания истекло. Если качество связи низкое, это может произойти преждевременно.

Другой вариант - отправка заголовка, но браузер его игнорирует. Такой уровень повреждения головного мозга в наши дни довольно редко, но возможен, если ваш браузер нестандартный / встроенный / древний.

Итак, решение этой проблемы, вероятно, заключается в исправлении HTTP-сервера. И взгляните на параметры программного обеспечения, которое вы используете для создания пакета установки: возможно, там есть настройка для создания хэша (или, по крайней мере, для запоминания желаемой длины) окончательного EXE-файла и для подачи жалобы на более заметную ошибку сообщение, если архив поврежден.

...