排查 IIS 7.x 安装问题

作者 :Puneet Gupta

此疑难解答中使用的工具:

此信息仅供参考。 Microsoft 不做任何明示或暗示的担保。

概述

排查 IIS 安装问题可能是一项非常棘手的任务。 安装过程在简单的文本文件中执行自己的日志记录,通常称为 IIS 7.x 版本的 IIS7.log (,IIS 6.0) 的 IIS6.log。

在本部分中,我们将重点介绍 IIS7.x 安装问题,并参考其日志记录以进行故障排除。

查看 IIS 设置日志

要查找的第一件事是 IIS7 中的错误。LOG (例如: c:\windows\iis7.log) 。

搜索单词“FAIL

下面是 IIS7.log 中条目的示例

[11/12/2010 19:48:13] [ ***** IIS 7.0 Component Based Setup ***** ] 
[11/12/2010 19:48:13] "C:\Windows\System32\inetsrv\iissetup.exe" /install FTPServer 
[11/12/2010 19:48:13] < !!FAIL!! > METABASE_UTIL::InstallFtpMetabaseEntries result=0x800708c5 
[11/12/2010 19:48:13] < !!FAIL!! > Install of component FTPServer result=0x800708c5 
[11/12/2010 19:48:13] < !!FAIL!! > COMPONENT::ExecuteCommand result=0x800708c5 
[11/12/2010 19:48:13] [ End of IIS 7.0 Component Based Setup ]

可以看到,它清楚地告诉你 EXE 安装程序是否运行,以及是否成功。 使用错误消息和安装命令行搜索 bing.com 找到错误: “InstallFtpMetabaseEntries result=0x800708c5”

可以从上述命令行重新运行他设置命令, (突出显示) 。 这样做将帮助你隔离问题,并使你能够收集正确的数据 (,例如进程监视器) ,只是该失败,你不必再次运行安装程序。

尝试停止所有第三方 (非 Microsoft 服务启动) 并重新启动框,然后再尝试下次安装/卸载 IIS。

若要快速识别和禁用这些服务,请转到开始运行并键入“msconfig” (而不引用) 。 它将打开系统配置对话框。 转到“服务”选项卡,选中复选框“隐藏底部的所有 Microsoft 服务”,然后禁用可停止的所有第三方服务,而不会影响服务器的重新启动。 通常这些是防病毒软件、备份软件等

另一种常见但最重要的方案是卸载 WPAS“Windows 进程激活服务”,尤其是在他们尝试卸载和重新安装 IIS 时。 安装 IIS 时,安装程序会自动将 WPAS 添加为依赖项之一,但卸载 IIS WPAS 时不会自动卸载 – 使核心二进制文件保持不变, (这样做的原因不是 BUG。简言之,不会卸载,以确保最终不会在显式使用此过程模型的框中中断其他服务,例如 WCF 服务) 。 必须确保通过转到服务器管理器下的功能并选择“Windows 进程激活服务”卸载来显式卸载 WPAS。

注意

这在 IIS 7.5 中已更改。 在 IIS 7.5 中,卸载程序将检查 WAS (的其他依赖项,例如 WCF) ,如果未找到任何依赖项,则 IIS 卸载过程将删除 WAS。

查看基于 CBS (组件的安装程序) 日志

如果 IIS7.log 干净,则很有可能问题位于 CBS (基于组件的安装程序) 引擎中。 可以在 中找到 C:\Windows\Logs\CBS folderCBS 日志。

与 IIS7.log 文件一样,CBS.log 文件是一个文本文件,可以在所选文本编辑器中打开, (你必须从管理命令提示符) 打开此文件。 可以通过记住安装失败的时间范围并在 CBS 中搜索“不会忽略故障:将启动回滚”字符串来获取这些日志中的一些有用信息。日志文件。 下面是一个此类实例的示例。

2010-07-08 14:04:08, Info CSI 00000047 Calling generic command executable (sequence 2): [40]"C:\Windows\System32\inetsrv\iissetup.exe" CmdLine: [151]""C:\Windows\System32\inetsrv\iissetup.exe" /launch C:\Windows\System32\inetsrv\appcmd.exe reset config -section:system.applicationHost/listenerAdapters" 
2010-07-08 14:04:08, Error CSI 00000048 (F) Done with generic command 2; CreateProcess returned 0, CPAW returned S_OK Process exit code 16386 (0x00004002) resulted in success? FALSE Process output: [l:22 [22]"Failed = 0x80004002"][gle=0x80004005] 
2010-07-08 14:04:09, Info CSI 00000051@2010/7/8:18:04:09.688 CSI Advanced installer perf trace:CSIPERF:AIDONE; {81a34a10-4256-436a-89d6-794b97ca407c};Microsoft-Windows-IIS-SharedLibraries, Version = 6.1.7600.16385, pA = PROCESSOR_ARCHITECTURE_AMD64 (9), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey Neutral;6148228 
2010-07-08 14:04:09, Error [0x018007] CSI 00000052 (F) Failed execution of queue item Installer: Generic Command ({81a34a10-4256-436a-89d6-794b97ca407c}) with HRESULT HRESULT_FROM_WIN32(14109). Failure will not be ignored: A rollback will be initiated after all the operations in the installer queue are completed; installer is reliable (2)[gle=0x80004005] 
2010-07-08 14:04:10, Info CSI 00000053 End executing advanced installer (sequence 75) Completion status: HRESULT_FROM_WIN32(ERROR_ADVANCED_INSTALLER_FAILED)

与 IIS7.log 一样,可以在 BING.COM 开始使用 Web 搜索技能,并查找下一个线索。

提示

尝试其他角色,看看它们是否失败。 如果他们执行 IIS 只是受害者,如果你不希望执行后续步骤,则可以参与平台设置以获取帮助。

运行 系统更新就绪性工具 (短名称 CHECKSUR) – 此工具适用于 Windows Vista、Windows Server 2008、Windows 7 和 Windows Server 2008 R2。 此工具的下载有点大,但值得运行。 如果安装此工具失败,则你对计算机存在一些其他问题,需要专家帮助。 请与 Microsoft 支持人员联系以获取相同。

从提升的命令提示符运行命令 sfc /scannow 。 此命令可能需要 5-10 分钟,如果此工具检测到损坏,它也会尝试修复它。 如果存在错误并修复了此工具,则可能会看到类似此类的错误。

C:\>sfc /scannow 
Beginning system scan. This process will take some time. 
Beginning verification phase of system scan. 
Verification 100% complete. 
Windows Resource Protection found corrupt files and successfully repaired 
them. Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example C:\Windows\Logs\CBS\CBS.log

如果此命令报告错误且无法修复错误,请与 Microsoft 支持人员联系以获取帮助。 你可能会看到这样的内容。

Windows Resource Protection found corrupt files but was unable to fix some of them. 
Details are included in the CBS.Log windir\Logs\CBS\CBS.log. For example 
C:\Windows\Logs\CBS\CBS.log

仅当两个工具都成功运行时,才应进一步进行故障排除。 运行这些步骤可能修复了 CBS 中存在的任何腐败问题,因为这实质上是这些工具执行的操作。 无论如何,运行这些工具并不是一个坏主意,因为运行工具可能需要大约 20-30 分钟才能运行这两个工具,但如果这些工具在 CBS 引擎中发现问题,它实际上可以节省你可能花在一个问题上的长时间。

其他资源