When upgrading to Windows 10 from Windows 7, the installer collects information about the drivers that are currently installed using DISM.
If DISM is unable to run, the installation will fail with this error code. There will also be lines similar to the following in C:\$Windows.~bt\Sources\Panther\SetupAct.log
YYY-MM-DD HH:MM:SS, Error CONX Failed to open dism driver store 0x8000000a
YYY-MM-DD HH:MM:SS, Error CONX Failed to collect driver information 0x8000000a
YYY-MM-DD HH:MM:SS, Error CONX Unable to initialize Device Driver Map with 0x8000000a
You can verify if DISM is functioning and providing driver information (or not) by running the following command from an elevated command prompt:
Dism /Online /Get-Drivers
If DISM is encountering the same problem as described on this page, the result will be this error message:
Error: 3
The directory c:\windows does not appear to be a valid Windows directory.
Ensure that the /WinDir option that is specified is valid. For more information, refer to the help by running DISM.exe /WinDir /?.
Lines similar to the following will also be present in C:\Windows\Logs\DISM\DISM.log
YYYY-MM-DD HH:MM:SS, Info DISM DISM OS Provider: PID=XXXX Setting Windows folder to C:\Windows – CDISMOSServiceManager::SetWindowsDirectory
YYYY-MM-DD HH:MM:SS, Info CSI 00000001 Shim considered [l:260{130}]”\??\C:\Windows\Servicing\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.10240.16439_none_11614ea761f64ffd\pkgmgr.exe” : got STATUS_OBJECT_PATH_NOT_FOUND
YYYY-MM-DD HH:MM:SS, Info CSI 00000002 Shim considered [l:254{127}]”\??\C:\Windows\WinSxS\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_10.0.10240.16439_none_11614ea761f64ffd\pkgmgr.exe” : got STATUS_OBJECT_NAME_NOT_FOUND
YYYY-MM-DD HH:MM:SS, Info CSI 00000003 Shim considered [l:116{58}]”\??\C:\Windows\Servicing\10.0.10240.16439_amd64\pkgmgr.exe” : got STATUS_OBJECT_PATH_NOT_FOUND
YYYY-MM-DD HH:MM:SS, Info CSI 00000004 Shim considered [l:110{55}]”\??\C:\Windows\WinSxS\10.0.10240.16439_amd64\pkgmgr.exe” : got STATUS_OBJECT_PATH_NOT_FOUND
YYYY-MM-DD HH:MM:SS, Error CSI 00000005 (F) HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) #1# from SssBindServicingStackParams={cb=00000040, flags=00000000} Cookie=(inner-null), Disp=1[gle=0x80070003]
YYYY-MM-DD HH:MM:SS, Error CSI 00000006@YYYY/MM/DD:HH:MM:SS.FFF (F) d:\w7rtm\base\wcp\shim\binder.cpp(615): Error HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) originated in function SssBindServicingStack expression: (pInputParameters->dwFlags & (0x00000020))
[gle=0x80004005]
YYYY-MM-DD HH:MM:SS, Warning DISM DISM OS Provider: PID=XXXX Failed to bind the online servicing stack – CDISMOSServiceManager::get_ServicingStackDirectory(hr:0x80070003)
YYYY-MM-DD HH:MM:SS, Error DISM DISM OS Provider: PID=XXXX Unable to retrieve servicing stack folder for DLL search path modification. – CDISMOSServiceManager::SetDllSearchPath(hr:0x80070003)
YYYY-MM-DD HH:MM:SS, Error DISM DISM OS Provider: PID=XXXX Unable to set the DLL search path to the servicing stack folder. C:\Windows may not point to a valid Windows folder. – CDISMOSServiceManager::SetWindowsDirectory(hr:0x80070003)
YYYY-MM-DD HH:MM:SS, Error DISM DISM.EXE: Failed to set the windows directory to ‘C:\Windows’. HRESULT=80070003
The solution in this case is to remove the errant servicing version folder (10.0.10240.16439) from C:\Windows\Servicing\Version\
I would recommend moving the folder to your Desktop, and then verifying that DISM functions as expected by running DISM /Online /Get-Drivers again.
Right on the money. Unable to delete the folder C:\Windows\Servicing\10.0.x.x due to permissions. system and adminsitrators only had inherited read only and also 2 unknown accounts. Added system and administrators as full control and was able to delete and upgrade without error.
LikeLike