Dism 错误 3
Failed to bind the offline servicing stack. Make sure that the Windows directory has been set. - CDISMOSServiceManager::get_ServicingStackDirectory(hr:0x800700c1)
Unable to retrieve servicing stack folder for DLL search path modification. - CDISMOSServiceManager::SetDllSearchPath(hr:0x800700c1)
Unable to set the DLL search path to the servicing stack folder. G:\Windows may not point to a valid Windows folder. - CDISMOSServiceManager::Final_OnConnect
Setting SystemPath to G:\ - CDISMOSServiceManager::SetSystemPath
Failed to bind the offline servicing stack. Make sure that the Windows directory has been set. - CDISMOSServiceManager::get_ServicingStackDirectory(hr:0x800700c1)
Failed trying to determine the OS Version. HRESULT=0x800700c1 - CDISMOSServiceManager::get_OSVersion
这两个函数都在 OSProvider.dll 中,"C:\ServicingStack-10\Dism\OSProvider.dll"
get_ServicingStackDirectory 调用 SsShimInterface::InternalBindServicingStack,这在 ssshim.dll 中。
它又调用 Internal_SssGetImageRequiredServicingStackVersion 函数,找 Servicing\\Version 中的 *_installed,即:
C:\Windows\servicing\Version
下有一个具体版本的目录,比如:10.0.10586.168
在这个目录下,有两个文件:
amd64_installed
x86_installed
内容:cookie
如果这里的版本与 dism 的版本不一致,就会出现错误 3,即找不到路径。
另外,这里版本号与 HKEY_LOCAL_MACHINE\Components\ServicingStackVersions 下的
LastWCPVersionToAccessStore 属性值相一致。