症狀:
在IIS測試時,報錯HTTP 500
打開IE INTERNET選項 - 高級 - 勾掉“顯示友好的HTTP錯誤信息”
得到錯誤 Server Application Error
經過分析,原因如下:(我是XP SP3專業版 VS2005 IIS5.1)
1.在安裝IIS和VS2005時的順序問題,一般的先安裝IIS 再安裝VS2005時 會自動配置好IIS 無須手動配置。如果是後安裝的IIS 或者重裝過IIS 則需要手動配置IIS(IIS需要完全安裝所有組件)方法如下:(以系統盤為C盤為例)
停止IIS服務
運行cmd 鍵入 cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 然後鍵入aspnet_regiis.exe -i 安裝完成後鍵入aspnet_regiis.exe –r
啟動IIS服務
2.如果執行第一步還是報錯,則繼續同步IIS密碼
在CMD中 cd c:\inetpub\adminscripts 然後cscript synciwam.vbs –v
執行結果如下:
IIS Applications Defined:
Name, AppIsolated, Package ID
w3svc, 0, {3D14228C-FBE1-11d0-995D-00C04FD919C1}
ROOT, 2,
IISHelp, 2,
Out of process applications defined:
Count: 1
{3D14228D-FBE1-11d0-995D-00C04FD919C1}
Updating Applications:
Name: IIS Out-Of-Process Pooled Applications Key: {3D14228D-FBE1-11D0-995D-00C04FD919C1}或者類似則成功,否則報錯ERROR 8004e00f則繼續
3.首先進入組件服務,查看組件服務-/計算機-我的電腦-COM+應用程序,結果報錯“COM+ 無法與 Microsoft 分布式事務協調程序交談,錯誤代碼8004e00f”,無法查看裡面的對象。進入事件查看器,發現msdtc服務沒有正常啟動。
下面需要刪除注冊表中以下鍵:
• HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/MSDTC
• HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC
• HKEY_CLASSES_ROOT/CID
然後停止MSDTC服務:在CMD中 net stop msdtc
卸載MSDTC服務: msdtc –uninstall
重新安裝MSDTC服務: msdtc –install
啟動MSDTC服務: net start msdtc
看到提示 請求的服務已啟動芸芸則msdtc服務已經正常啟動 重做第2步
4.經過前3步 還未成功的話
在事件查看器中出現警告“服務器無法加載應用程序 '/LM/W3SVC”
在CMD下執行 cd %windir%\system32\inetsrv
然後 rundll32 wamreg.dll,CreateIISPackage
然後 regsvr32 asptxn.dll
然後重啟機器 問題應該就解決了