針對 IIS 7.x 安裝問題進行疑難解答
本文提供檢閱記錄檔,以針對 IIS 7.x 中的安裝問題進行疑難解答的相關信息。 雖然本文適用於 IIS 7.x,但相同的概念可以套用至其他版本的 IIS。
適用於:網際網路資訊服務 7.0 和更新版本
檢閱 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 ]
記錄會告訴您安裝程式是否已執行,以及它是否成功。 使用錯誤訊息和安裝命令行,搜尋 Web 中的錯誤「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 (元件型設定) 引擎有一個很好的問題。 CBS 記錄位於 C:\Windows\Logs\CBS 資料夾。
就像IIS7.log檔案一樣,CBS.log檔案是文字檔,而且可以使用任何文本編輯器開啟(您必須從系統管理命令提示字元開啟此檔案)。 您可以記下安裝失敗的時間範圍,並在CBS.log檔案中搜尋「不會忽略失敗:將會起始復原」字串,以從這些記錄取得一些有用的資訊。 以下是一個這類實例的範例。
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)
和之前一樣,搜尋 Web 以取得有關錯誤的其他線索。
提示
嘗試其他角色,並查看它們是否失敗。 如果他們這樣做,IIS 只是受害者,而且如果您不想遵循後續步驟,您可以參與平台設定以取得協助。
執行系統更新整備工具(簡短名稱 CHECKSUR)。 此工具適用於 Windows Vista、Windows Server 2008、Windows 7 和 Windows Server 2008 R2。 如果此工具安裝失敗,則計算機有一些其他問題,您可以連絡 Microsoft 支援服務。
從提升權限的命令提示字元執行 sfc /scannow
。 此命令可能需要五到十分鐘的時間,如果此工具偵測到損毀,它也會嘗試修正它。 如果發生錯誤,且此工具已修正,您可能會看到類似這樣的錯誤。
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 中存在的任何腐敗問題。 如果這些工具確實在 CBS 引擎中發現問題,它可協助您縮小問題範圍,並節省時間進行疑難解答。