Window Server 2008r2无法启动Windows Modules Installer服务,错误模块路径cmifw.dll

Windows Server 2008r2系统的服务器上需要升级SQL Server数据库从2008到 2014。但是在最后升级快完成的时候失败了,查看Windows日志后发现,报错内容

错误应用程序名称: TrustedInstaller.exe,版本: 6.1.7601.17514,时间戳: 0x4ce7989b
错误模块名称: cmifw.dll,版本: 6.1.7600.16385,时间戳: 0x4a5bdec6
异常代码: 0xc0000005
错误偏移量: 0x000000000000a8b5
错误进程 ID: 0x18c
错误应用程序启动时间: 0x01d433ab6e783bec
错误应用程序路径: C:\Windows\servicing\TrustedInstaller.exe
错误模块路径: C:\Windows\WinSxS\amd64_microsoft-windows-f..allconfig-installer_31bf3856ad364e35_6.1.7600.16385_none_731e1fe6187914ea\cmifw.dll

经过查询资料后发现,TrustedInstaller.exe进程属于Windows Modules Installer服务。打开服务,找到Windows Modules Installer服务,发现状态为未启动。右键启动后,刷新服务,状态又变成未启动。查看Windows日志,报错内容和SQL Server升级失败的内容一样。

网上找了一大堆资料,但都不是针对我这种情况的,最后突发奇想,拿错误模块路径cmifw.dll搜搜看,竟然还真被我找到了解决方法,具体可以参考这篇,Faulting application name TrustedInstaller.exe version: 6.1 Server 2008r2 and Windows 7

解决方法是,打开C:\Windows\WinSxS目录,找到该目录下的pending.xml文件,先将其备份一个到你的备份盘,以备不时之需,然后将这个xml文件删除即可。但需要注意的是,这个文件的所有者属于SYSTEM用户,而SYSTEM用户是系统最高权限,比你的Administrator权限还要高。所以,需要先修改WinSxS这个文件夹的权限,将其从TrustedInstaller用户修改成Administrator用户。修改过程中,系统会询问你,是否将pending.xml文件的所有者从SYSTEM用户改成Administrator,你点是就可以了。最后,给Administrator对于pending.xml文件的所有控制权。接下来就可以删除该文件了。

整个修改过程中,服务器自动重启了一次,启动后系统变成了Windows Server 2008r2,原来的SP1补丁没有了。去网上下一个,重新打上SP1补丁。然后升级你的数据库吧。

avatar

chilihotpot

You Are The JavaScript In My HTML