zcomputerwiz
Windows Update Expert
Problem:
Windows 10 Upgrade fails with error 0x8007007e and Windows Updates fail with code 0x8000ffff .
Symptoms:
The following appears in SetupAct.log:
The following appears in the CBS log:
Description:
As indicated in the log, the problem is caused by the system failing to load a particular module, specifically the driver store servicing DLL.
This can be confirmed by attempting to list the installed drivers.
This will result in the error Code 126, and the DISM log will indicate error code 0x8007007e, module not found when trying to load drvstore.dll.
Solution:
Check the installed servicing stack, this directory and it’s contents will need to be replaced. Once complete, upgrade to the latest release of Windows 10.
This can be found in the registry at
Inside should be a value whose name indicates the version, and whose data gives the path.
This can be double-checked against the servicing folder in Windows as well, where the amd64_installed and x86_installed file exists.
This should produce output similar to the following, where version 10.0.14393.1051 is installed.
The Servicing Stack update KBs can be traced by searching in Component Detect for a key named amd64_microsoft-windows-servicingstack_31bf3856ad364e35_0.0.0.0_none_8957f279c7d227d0
Once the matching KB MSU for the installed version has been downloaded and the files extracted and replaced, restart the machine and attempt to list the installed drivers with DISM again.
If it succeeds, update to the latest version of Windows 10 using installation media or the Media Creation Tool.
Windows 10 Upgrade fails with error 0x8007007e and Windows Updates fail with code 0x8000ffff .
Symptoms:
The following appears in SetupAct.log:
Code:
2018-06-16 17:51:15, Error CONX 0x8007007e Failed DismGetDrivers
2018-06-16 17:51:15, Error CONX 0x8007007e Failed to add driver store drivers
2018-06-16 17:51:34, Info CONX End CDriverMap::GetDrivers
2018-06-16 17:51:34, Warning CONX Stop Time: 16:51:34.034
2018-06-16 17:51:34, Info CONX End CDriverMap::GetDrivers
2018-06-16 17:51:34, Error CONX 0x8007007e Failed to collect driver information
2018-06-16 17:51:34, Error CONX 0x8007007e DeviceMap failed to collect driver information
2018-06-16 17:51:34, Error CONX 0x8007007e Unable to initialize Device Driver Map
The following appears in the CBS log:
Code:
2018-06-21 07:34:18, Info CBS DriverUpdateOpenContext failed [HRESULT = 0x8007007e - ERROR_MOD_NOT_FOUND]
2018-06-21 07:34:18, Info CBS Failed opening the driver update context [HRESULT = 0x8007007e - ERROR_MOD_NOT_FOUND]
2018-06-21 07:34:18, Error CBS Failed opening driver update context [HRESULT = 0x8007007e - ERROR_MOD_NOT_FOUND]
Description:
As indicated in the log, the problem is caused by the system failing to load a particular module, specifically the driver store servicing DLL.
This can be confirmed by attempting to list the installed drivers.
Code:
Dism /online /Get-Drivers
This will result in the error Code 126, and the DISM log will indicate error code 0x8007007e, module not found when trying to load drvstore.dll.
Code:
2018-06-04 04:08:11, Error DISM DISM Driver Manager: PID=10276 TID=10308 Failed trying to load drvstore.dll - CDmiApi::InternalInitialize(hr:0x8007007e)
2018-06-04 04:08:11, Error DISM DISM Driver Manager: PID=10276 TID=10308 Failed to initialize the DMI API. - CDmiApi::get_DriverStore(hr:0x8007007e)
2018-06-04 04:08:11, Error DISM DISM Driver Manager: PID=10276 TID=10308 Failed to open the driver store. - CDriverManager::GetDriverPackageCollection(hr:0x8007007e)
2018-06-04 04:08:11, Error DISM API: PID=1520 TID=11212 Failed to retrieve drivers from image. AllDrivers=FALSE. - CGetDriversCommandObject::InternalExecute(hr:0x8007007e)
2018-06-04 04:08:11, Error DISM API: PID=1520 TID=11212 InternalExecute failed - CBaseCommandObject::Execute(hr:0x8007007e)
2018-06-04 04:08:11, Error DISM API: PID=1520 TID=11564 CGetDriversCommandObject failed - DismGetDriversInternal(hr:0x8007007e)
Solution:
Check the installed servicing stack, this directory and it’s contents will need to be replaced. Once complete, upgrade to the latest release of Windows 10.
This can be found in the registry at
Code:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Version\
This can be double-checked against the servicing folder in Windows as well, where the amd64_installed and x86_installed file exists.
Code:
cmd /c dir /s /A %systemroot%\servicing\version >"%userprofile%\desktop\servicing.txt"
Code:
Volume in drive C is OS
Volume Serial Number is XX99-9999
Directory of C:\WINDOWS\servicing\version
04/14/2017 05:36 AM <DIR> .
04/14/2017 05:36 AM <DIR> ..
11/27/2016 10:59 PM <DIR> 10.0.14393.0
04/14/2017 05:36 AM <DIR> 10.0.14393.1051
03/05/2017 10:33 PM <DIR> 10.0.14393.350
04/14/2017 05:36 AM <DIR> 10.0.14393.693
0 File(s) 0 bytes
Directory of C:\WINDOWS\servicing\version\10.0.14393.0
11/27/2016 10:59 PM <DIR> .
11/27/2016 10:59 PM <DIR> ..
0 File(s) 0 bytes
Directory of C:\WINDOWS\servicing\version\10.0.14393.1051
04/14/2017 05:36 AM <DIR> .
04/14/2017 05:36 AM <DIR> ..
07/16/2016 02:04 AM 9 amd64_installed
07/16/2016 02:04 AM 9 x86_installed
2 File(s) 18 bytes
Directory of C:\WINDOWS\servicing\version\10.0.14393.350
03/05/2017 10:33 PM <DIR> .
03/05/2017 10:33 PM <DIR> ..
0 File(s) 0 bytes
Directory of C:\WINDOWS\servicing\version\10.0.14393.693
04/14/2017 05:36 AM <DIR> .
04/14/2017 05:36 AM <DIR> ..
0 File(s) 0 bytes
Total Files Listed:
2 File(s) 18 bytes
14 Dir(s) 23,003,590,656 bytes free
Once the matching KB MSU for the installed version has been downloaded and the files extracted and replaced, restart the machine and attempt to list the installed drivers with DISM again.
If it succeeds, update to the latest version of Windows 10 using installation media or the Media Creation Tool.