个人随笔 (Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)
最近遇到了著名的KB4012212的卸载失败的问题,在网上查资料没有找到合适的方法。
在查windows日志的时候看到一些线索,联系到之前碰到的QQ报文件损坏的问题,发现解决的思路是类似的。
首先查询:C:\Windows\Logs\CBS\CBS.log
卸载失败会在这个里面有报错信息。
失败的信息形如:这说明本地的系统文件缺失导致的失败
Error CSI 00000040 (F) d:\win7sp1_gdr\base\wcp\primitiveinstallers\filehierarchy.cpp(1279): Store corruption detected in function FileInstaller::CFileInstallerHierarchy::CommitFileChanges expression: 0 MissingFileSystemResource on resource [121]"\winsxs\amd64_microsoft-windows-d..-japanese-migration_31bf3856ad364e35_6.1.7600.16385_none_6a5b38699f97e38d\imjppdmg.exe"[gle=0x80004005] Error CSI 00000041 (F) STATUS_SXS_COMPONENT_STORE_CORRUPT #712605# from CFileInstaller::CommitChanges(...)[gle=0xd015001a] |
解决方法可以是:
1. 从正常的电脑下载文件(我采用的这种)或从安装盘、网上下载:
2. 然后把文件copy到缺失的目录中;(copy前需要设置写权限)
3. 然后重新卸载,再发现系统缺失文件的话,重新执行1-2直到卸载成功。
copy的时候会发现权限不足,解决权限的方法是:
winSxs目录下面的文件是不能直接替换的。使用下列命令,获取权限:
takeown /F directory/R
icacls directory /grant username:F /T
下面是KB4012212当时遇到权限问题,为两个目录添加权限的cmd:
takeown /F C:\Windows\WinSxS\amd64_microsoft-windows-d..-japanese-migration_31bf3856ad364e35_6.1.7600.16385_none_6a5b38699f97e38d /R icacls C:\Windows\WinSxS\amd64_microsoft-windows-d..-japanese-migration_31bf3856ad364e35_6.1.7600.16385_none_6a5b38699f97e38d /grant %USERNAME%:F /T takeown /F C:\Windows\WinSxS\x86_microsoft-windows-d..-japanese-migration_31bf3856ad364e35_6.1.7600.16385_none_0e3c9ce5e73a7257 /R icacls C:\Windows\WinSxS\x86_microsoft-windows-d..-japanese-migration_31bf3856ad364e35_6.1.7600.16385_none_0e3c9ce5e73a7257 /grant %USERNAME%:F /T |
卸载的Command命令:
wusa.exe /uninstall /kb:4012212
个人随笔 (Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)