《一》解決IIS的“Server Application Error”故障
一、啓動MSDTC 服務
WIN+R,運行cmd 後輸入:net start msdtc
如果顯示“distributed transaction coordinator 服務不能啓動”,就把C:/WINDOWS/system32/dtclog 這個目錄重命名(如果有的話,沒有就直接省去這一步),然後重新建立該目錄。
然後在命令行下輸入:msdtc -resetlog ,再輸入net start msdtc ,顯示服務啓動成功。
二、設置“IUSR_”和“IWAM_”密碼
打開開始-所有程序-管理工具-計算機管理-本地用戶和組 ,分別給“IUSR_機器名”和“IWAM_機器名”兩個用戶設置密碼,兩個要是一樣的,這裏簡單點比較好。
三、同步IIS配置數據庫密碼
爲了確認第二步的密碼是否一致,這裏需要分別查看“IUSR_”和“IWAM_”的密碼。
WIN+R,運行cmd後輸入:cd c:/inetpub/adminscripts
獲取IWAM 帳戶密碼命令:cscript.exe adsutil.vbs get w3svc/wamuserpass
獲取IUSR 帳戶密碼命令:cscript.exe adsutil.vbs get w3svc/anonymoususerpass
輸入以上命令,按回車就可查看IWAM 和IUSR 各自的密碼,確認是否一致,如果兩個密碼不一致,則修改之:
修改IWAM 帳戶密碼:cscript.exe adsutil.vbs set w3svc/wamuserpass “password”
修改IUSR 帳戶密碼:cscript.exe adsutil.vbs set w3svc/anonymoususerpass “password”
其中“password” 設置爲你想修改的密碼,即與第二步中設置的“IWAM_”密碼相同,按回車即可修改完成。
這裏應該注意的是,修改密碼前請一定停止所有的Internet 信息服務,否則後面可能會出錯,並且IWAM 帳戶可能會被鎖定。
四、更改組件服務中的密碼
WIN+R,運行cmd 後輸入:cd c:/inetpub/adminscripts
然後輸入:cscript.exe synciwam.vbs -v
最後重啓IIS:iisreset
到了第四步操作後基本就OK了,到http://localhost/ 去試試?如果依然不行的話,還有第五步 :
在cmd 下運行(每行分別爲單獨命令,分三次輸入並回車執行)
cd %windir%/system32/inetsrv
rundll32 wamreg.dll, CreateIISPackage
regsvr32 asptxn.dll
關閉所有的IE窗口後再試一下
《二》 網友寫的一個iis.bat文件內容(將下面內容複製到 iis.txt 文本下。再將iis修改爲iis.bat)
@echo off
echo *
echo *
echo ****************************************************
echo * *
echo * IIS Server Application Error錯誤自動修復批處理 *
echo * 作者:hayden *
echo * 博客:www.mysuc.com *
echo * *
echo ****************************************************
echo *
echo *
set /p isok0=開始IIS修復?(y/n)
if %isok0%==y goto begin
goto forend
:begin
set userIWAM=IWAM_%COMPUTERNAME%
set userIUSR=IUSR_%COMPUTERNAME%
:checkIWAM
net user %userIWAM%
if %errorlevel%==0 goto checkIUSR
goto netuserIWAM
:checkIUSR
net user %userIUSR%
if %errorlevel%==0 goto edituser
goto netuserIUSR
:netuserIWAM
net user
set /p tiwam=請輸入正確的“啓動 IIS 進程帳戶”名稱(即以IWAM_開頭的帳戶名稱)?
set userIWAM=%ans%
goto checkIWAM
:netuserIUSR
net user
set /p tiusr=請輸入正確的“Internet 來賓帳戶”名稱(即以IUSR_開頭的帳戶名稱)?
set userIUSR=%tiusr%
goto checkIUSR
:edituser
echo 重置“啓動 IIS 進程帳戶”密碼爲123
net user %userIWAM% 123
echo 重置“Internet 來賓帳戶”密碼爲123
net user %userIUSR% 123
echo 密碼同步
cscript.exe %HOMEDRIVE%/Inetpub/Adminscripts/adsutil.vbs set w3svc/wamuserpass 123
cscript.exe %HOMEDRIVE%/Inetpub/Adminscripts/adsutil.vbs set w3svc/anonymoususerpass 123
echo *
echo *
set /p isok1=請測試IIS是否正常?(y/n)
if %isok1%==y goto forend
cscript.exe %HOMEDRIVE%/Inetpub/Adminscripts/synciwam.vbs -v
iisreset
echo *
echo *
set /p isok2=請測試IIS是否正常?(y/n)
if %isok2%==y goto forend
echo 清除MSDTC服務註冊表相關信息
reg delete HKLM/SYSTEM/CurrentControlSet/Services/MSDTC /f
reg delete HKLM/SOFTWARE/Microsoft/MSDTC /f
reg delete HKCR/CID /f
echo 停止並重新安裝MSDTC服務
net stop msdtc
msdtc -uninstall
msdtc -install
echo 重置“啓動 IIS 進程帳戶”與“Internet 來賓帳戶”密碼
net user %userIWAM% 123
net user %userIUSR% 123
echo 同步IIS metabase中IWAM_MYSERVER的密碼
%HOMEDRIVE%/Inetpub/Adminscripts/adsutil.vbs set w3svc/wamuserpass "123"
echo 同步COM+應用程序所用的IWAM_MYSERVER密碼
cscript.exe %HOMEDRIVE%/Inetpub/Adminscripts/synciwam.vbs -v
echo *
echo *
set /p isok3=請測試IIS是否正常?(y/n)
if %isok3%==y goto forend
echo 重新註冊相關組件
rundll32 %windir%/system32/inetsrv/wamreg.dll, CreateIISPackage
regsvr32 %windir%/system32/inetsrv/asptxn.dll /s
echo *
echo *
set /p isok4=請測試IIS是否正常?(y/n)
if %isok4%==y goto forend
echo *
echo *
echo 如果IIS還不正常的話,我真的解決不了唉,請另請高明吧!
:forend
echo *
echo *
@echo 批處理執行完畢,請按任意鍵退出?
@echo off
pause
《三》出現了“訪問 IIS 元數據庫失敗”的錯誤信息,最後經過搜索發現瞭解決問題的方法。解決方法如下:
1、依次點擊“開始”-“運行”。
2、在“運行”欄內輸入
“C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i ”(不含引號),然後點“確定”按鈕。
3、出現的cmd窗口中顯示“開始安裝ASP.NET XXX”等內容,等待這個窗口自動關閉。
好了,到這裏一般問題就解決了,如果尚未解決請參考下面的文章。來源:互聯網
。
------------------------------------
裝了VS2005再裝IIS,結果出了些小問題
訪問IIS元數據庫失敗
思考可能是次序出了問題,解決
1、打開CMD,進入 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727
2、輸入 aspnet_regiis.exe -i
稍等片刻,註冊成功就解決問題了。
接着還會出現“未能創建 Mutex”的問題
解決方法:
1、先關閉你的VS2005。
2、打開 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary
ASP.NET Files 找到你剛纔調試的程序的名字的目錄刪除它。
3、關閉IIS服務器
,重開一次。
4、用IE瀏覽一下你的程序,問題解決。