ConfigMgr setup successfully downloaded several thousand files during pre-requisite downloads, then failed with error:
An error has occurred while attempting to download or verify required
prerequisite components and Setup cannot continue. Review the
configmgrsetup.log file for further details.
Opening C:\configmgrsetup.log showed the following error:
INFO: Downloading http://go.microsoft.com/fwlink/?LinkID=808217 as MobileDevice.cab $$<Configuration Manager Setup><03-20-2017 14:13:55.946-660><thread=3224 (0xC98)>
INFO: WinHttpQueryHeaders() in Download() returned OK (200) $$<Configuration Manager Setup><03-20-2017 14:14:01.830-660><thread=3224 (0xC98)>
ERROR: _ReadDataAndWriteToFile() failed with 0x80072efe $$<Configuration Manager Setup><03-20-2017 14:14:27.760-660><thread=3224 (0xC98)>
ERROR: Download() failed with 0x80072EFE $$<Configuration Manager Setup><03-20-2017 14:14:27.776-660><thread=3224 (0xC98)>
The download always failed on same file. Re-running the download while running Fiddler
We see http://go.microsoft.com/fwlink/?LinkID=808217 downloads with result code 302, redirecting to URL http://download.microsoft.com/download/9/D/D/9DD75DA0-C7B4-48CE-B0C4-93ABAF7D5B24/MobileDevice.cab which fails with result code 504.
Fiddler shows the following info for the failing request:
HTTP/1.1 504 Fiddler – Receive Failure
Date: Mon, 20 Mar 2017 07:52:30 GMT
Content-Type: text/html; charset=UTF-8
Cache-Control: no-cache, must-revalidate
[Fiddler] ReadResponse() failed: The server did not return a complete response for this request. Server returned 19,871,449 bytes.
I repeated the download, this time without Fiddler, and running Wireshark capture. Using Fiddler’s File –> Import Sessions –> Packet Capture option, the trace this time showed MobileDevice.cab shows 200 response.
Selecting this response in Fiddler, right clicking, and selecting Save –> Save Response –> Response Body resulted in a .CAB file that was corrupt and didn’t open.
Reviewing the Wireshark trace with a filter on the proxy server IP address ip.addr eq <proxy IP> we can see what goes wrong
The last packet received from proxy server is a TCP reset:
You can also see the failure at Windows API level easily using Rohitab API Monitor
For this I monitored Internet and Windows Application UI Development –> Dialog Boxes APIs for process SetupDL.exe. This process is created only when downloads start. By monitoring the Dialog Box APIs you can just search for the error message application displayed and work backwards to see events leading to error.
In this case WinHttpReadData fails with error 12030 “The Connection with the server was terminated abnormally”
Attempting to manually download file in Internet Explorer, Mozilla Firefox or Google Chrome from the same machine via the same proxy ended up with the same result – corrupt CAB file.
Checking the environment’s proxy.pac file I noticed there was about 6 different potential proxy servers listed.
I manually set a different proxy server….the download worked manually. Re-trying ConfigMgr update download succeeded. Further investigation would need to be done from proxy server side to identify root cause of problem.
If a fix to proxy server is not immediately available you can use the “Get the latest Configuration Manager updates” option on a machine directly connected to the internet with no proxy, to download the updates.