Today I saw error code ‘0x80091007’ when installing a windows update that was pushed out via sccm. The error code ‘0x80091007’ can appear when installing an application, windows update or running a task sequence.
The error ‘0x80091007’ is caused because the client is unable to download the package from a SCCM distribution point. By checking logs on the client we can pin point where the root cause is.
Error 0x80091007 Summary
I first came across the error 0x80091007 when I was checking the previous days “Microsoft Endpoint Protection” deployment. Usually the deployment has around 3500 compliant installs, but on the day there were only 376. Below is from MonitoringOverviewDeployments in the configmgr console.
To find out more about the deployment status I clicked on view status, then selected the Error tab and I saw the below errors.
- Error Code 0x80091007
- Error Code 0x8007066A
- Error Code 0x80091007
- The hash value is not correct
- The upgrade cannot be installed by the windows installer service because the program to be upgraded may be missing
Next I logged on to a client that failed to install the update and I saw error code 0x80091007 & 0x8007066A (-2147023254) in software center.
I have also seen the error 0x80091007 cause a task sequence to fail with the below error showing.
How To Fix Error Code 0x80091007
The error will be caused because there is an issue with one of the packages in the SCCM console.
You will need to check the sccm client logs to find out exactly which package is causing the issue and what the issue is with the package.
Step 1 : Check SCCM Client Logs
First thing we need to do is review the logs on the client (Machine having the issue)
Application Deployment Or Windows Updates Logs
If you are having issues with an application deployment or a windows update you will need to review the following logs
- C:WindowsCCMLogsCAS.log
- C:WindowsCCMLogsClientLocation.log
- C:WindowsCCMLogsCIDownloader.log
- C:WindowsCCMLogsDataTransferService.log
In these logs I found the following information which helped me resolve the issue.
- Hash for file c:windowsccmcache14jam_delta_48b261ba132fb0c84383f97b4ae6cc54.exe is D18FF58F8794847CFE3A292A3CB4C04, does not match expected 48B261BA132FB0C8407C11725383F97B4AE6CC54
- Download failed for content 1b3cdd8a-f2df-f6bdec464d9.1 under context System, error 0x80091007
- Download failed for download request {AD1A822A-234B-41D43095DE22}
- DTSJob {4C81EC10-6712-4ED0A18012D} created to download from ‘http://configmgr.Local:80/SMS_MP’ to ‘C:windowsCCM14j’.
- UpdateURLWithTransportSettings(): NEW URL – http://download.windowsupdate.com:80/c/msdownload/update/software/defu/2023/09/am_delta_48b261ba132fb0c84383f97b4ae6cc54.exe
- ReadStringFromFile failed (0x80070002).
Task Sequence Logs
If you are getting the error in a task sequence you need to check the logs which will be in one of the following locations.
- C:windowsccmlogsSmstslogsmsts.log
- x:smstslogsmsts.log
- c:_SMSTaskSequenceLogsSmstslogsmsts.log
Step 2 : Check Download Location
To resolve the error 0x80091007 you need to confirm if the client can access the location where the install files or updates are located, To do this follow these steps on the client that is having the issue.
- C:WindowsCCMLogsDataTransferService.log
- Look for the following line “UpdateURLWithTransportSettings(): NEW URL – http://download.windowsupdate.com:80/c/msdownload/update/software/defu/2023/09/am_delta_48b261ba132fb0c8407c11725383f97b4ae6cc54.exe”
- This will give us the location the client is trying to download the update from. Now copy the url and paste it in to internet explorer to confirm if you can access or not.
By looking in this log file I found out that the package was trying to be downloaded from download.windowsupdate.com even though that should be a backup download location as the package existed on a local distribution point.
My firewall blocks access to download.windowsupdate.com so the client would never be able to download from that location. Now we know the location we can apply one of the following fixes.
Disable Downloading From Microsoft Update
If your clients can not access http://download.windowsupdate.com you can either enable the access or remove the option to update via microsoft update in the sccm console. To do that follow these steps
- Open SCCM console
- go to MonitoringOverviewDeployments
- Right click on the required deployment and select properties
- Click the “Download Settings” tab
- Untick the bottom two boxes as shown in below screenshot
Check Package Is Present On SCCM Distribution Point
We now need to check that the package has been distributed / copied correctly to the sccm distribution point. To do this we first need to check what distribution point is being used to download the package. To find this out do the following on the client trying to download the package.
- Open the log file C:WindowsCCMLogsDataTransferService.log
- Locate the SCCM Distribution point by looking for the line DTSJob {4C81EC10-6712-4ED0A18012D} created to download from ‘http://configmgr.Local:80/SMS_MP’ to ‘C:windowsCCM14j’.
- Above you can see the SCCM DP is configmgr.Local
Next we need to check the package status on the sccm distribution point server. Follow the below steps
- Log on to the SCCM console
- go to
- For Applications : Software LibraryOverviewApplication ManagementApplicationsDeployments – Campaign or
- For Windows Updates : Software LibraryOverviewSoftware UpdatesDeployment Packages
- Click on Content Status
- Click view status
- Confirm the sccm distribution point is in the successful tab (Shown Below)
- If the package is showing as successful the first thing we can do is redistribute the package.
- Go to AdministrationOverviewSite ConfigurationServers and Site System Roles
- Select the required SCCM distribution point
- At the bottom under Site system roles right click on Distribution Point > Properties
- Click content tab
- Select the required package
- Click redistribute
- Wait until the package has been copied (Repeat steps 1-7 above)
- If the above does not work we can use the “Update Content” feature
- Go to your application Software LibraryOverviewApplication ManagementApplications
- At the bottom click on deployment types
- Click Update Content at the top
Redistribute Package On Distribution Point
Sometimes packages just can not be downloaded until they are redistributed on a distribution point, it is usually because the package became corrupt or there was a network outage when the package was being copied.
To redistribute a package on a distribution point follow these steps.
- In the SCCM console go to MonitoringOverviewDistribution StatusContent Status
- Right click on the package and click “View Status”
- Find the distribution point you want to redistribute the package to under asset details
- Right click on the distribution point and select redistribute
Step 3 : Fixing The Hash Value is Not Correct
To confirm you are having this issue check the following on the client having the issue do the following.
- Log on to the client
- Open the log file C:WindowsCCMLogsCAS.log
- Confirm you can see “Has For File, does not match expected” errors
To fix the error “The Hash Value is Not Correct” we can try the follow things
- Disable Binary Differential Replication
Disable Binary Differential Replication
Binary differential replication is used only for software updates. To disable binary differential replication follow these steps.
- Confirm the client can download the package (Complete Checks in Step 2 in this guide)
- In the SCCM console go to Software LibraryOverviewSoftware UpdatesDeployment Packages
- Right click on the required package
- Untick “Enable binary differential replication”
- Click ok
- Right click on the required package
- Click Update distribution points
- Wait a few hours to a day to see results
If this does not fix the issue I recommend that you re-enable this option.
Turn Off Content Validation On Distribution Point
Over the years I have seen content validation causing issues with packages being downloaded. I recommend to disable this setting and keep it disabled.
To turn off content validation follow these steps
- In the Configmgr console go to AdministrationOverviewSite ConfigurationServers and Site System Roles
- Left click on the distribution point you want to turn off content validation for
- Down the bottom right click on distribution point and select properties
- Select “Content Validation” tab
- Untick “Validate content on a schedule”
- Click Ok
- Wait a few hours to a day to see results
Hello, I am the owner of this site. I have 25+ years experience of IT. Check us out on the below social platforms.