Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.223.106.232] |
|
Сообщ.
#1
,
|
|
|
Доброго времени суток.
Когда-то давно реализовал в процессе установки закачку нужного файла с сервера и размещение его в папке с установленной программой через функцию URLDownloadToFileA (URLMON.DLL). После многочисленных жалоб обнаружил что файл не скачивается примерно в случае 50-60% установок. Просто не уходит запрос (именно по количеству дошедших до сервера сообщений об успещной установке и запросе файла идет статистика ошибки). Функция существует во всех версиях винды начиная с Windows XP. К сожалению, конечные пользователи не компетентны в этих вопросах, а у меня баг почти не проявляется: раз в 5-6 установок может и не скачаться. Есть минимум 1 пользователь, у которого после 5-10 установок (точно не сказал) ни разу файл не скачался. Скачиваемый файл - текстовый. Дело 100% не в сервере - он отдает файл всегда, это не нагрузка. Сервер смотрит в сеть напрямую, блокировка "ботов" сервисами типа CloudFlare исключена. Код скрипта InnoSetup function UrlDownloadToFile(Caller: cardinal; URL: PAnsiChar; FileName: PAnsiChar; Reserved: DWORD; StatusCB: cardinal): Longword; external 'URLDownloadToFileA@URLMON.DLL stdcall'; function GetTickCount: DWORD; external 'GetTickCount@kernel32.dll stdcall'; procedure CurPageChanged(CurPageID: Integer); var Response: Longword; url : PAnsiChar; begin url:='http://mydomain.com/_installed.php?v=....'; //сливается информация о версии и языке ОС, билд программы, защита от кеширования Response:=UrlDownloadToFile(0, url, PAnsiChar(ExpandConstant('{tmp}') + 'installed.log'), 0, 0); //это само отписывание в лог WizardForm.NextButton.Enabled := False; url:='http://mydomain.com/_latestdata.php&nocache='+inttostr(GetTickCount); Response:=UrlDownloadToFile(0, url, PAnsiChar(ExpandConstant('{app}') + '\data.db'), 0, 0); WizardForm.NextButton.Enabled := true; Есть идеи, почему это может происходить? |
Сообщ.
#2
,
|
|
|