我装了IIS了,可是又进不去http://localhost 了
            脚本专栏 发布日期:2025/10/31 浏览次数:1
         
        
            正在浏览:我装了IIS了,可是又进不去http://localhost 了
            问题解决:  
setp 1  
停止相关服务  
MSDTC_1.bat  
@echo off  
if {%1}=={} @echo Syntax: MSDTC1 Filename&goto :EOF  
setlocal ENABLEDELAYEDEXPANSION  
set filename=%1  
if exist %filename% del /q %filename%  
(  
@echo Alerter  
@echo EventSystem  
@echo Browser  
@echo TrkWks  
@echo Dnscache  
@echo Eventlog  
@echo PolicyAgent  
@echo dmserver  
@echo Messenger  
@echo Netlogon  
@echo NtLmSsp  
@echo Netman  
@echo PlugPlay  
@echo RpcSs  
@echo RpcLocator  
@echo NtmsSvc  
@echo SamSs  
@echo lanmanserver  
@echo SENS  
@echo Schedule  
@echo LmHosts  
@echo winmgmt  
@echo Wmi  
@echo W32Time  
@echo lanmanworkstation  
)>"%TEMP%\MSDTC1.TMP"  
call :stopdtc>nul 2>&1  
for /f "Tokens=*" %%L in ('reg query HKLM\System\CurrentControlSet\Services^|FINDSTR /I /B  
/L /C:"HKEY_LOCAL_MACHINE"') do (  
set line=%%L  
set key=HKLM!LINE:~18!  
call :subkey "!key!"  
call :testsvc  
)  
endlocal  
goto :EOF  
:stopdtc  
sc stop msdtc  
goto :EOF  
:testsvc  
for /f "Tokens=*" %%c in ('@echo !svc!^|findstr /I /B /E /L /G:"%TEMP%\MSDTC1.TMP"') do goto  
:EOF  
set /a start=3  
set /a type=0  
call :getstart>nul 2>&1  
call :gettype>nul 2>&1  
if %type% LSS 16 goto :EOF  
if %start% NEQ 2 goto :EOF  
sc config !svc! start= demand  
@echo sc config !svc! start= auto%filename%  
goto :EOF  
:gettype  
for /f "Tokens=2,3" %%x in ('reg query "HKLM\System\CurrentControlSet\Services\!svc!" /V  
type^|FIND "REG_DWORD"') do (  
set /a type=%%y  
)  
goto :EOF  
:getstart  
for /f "Tokens=2,3" %%x in ('reg query "HKLM\System\CurrentControlSet\Services\!svc!" /V  
start^|FIND "REG_DWORD"') do (  
set /a start=%%y  
)  
goto :EOF  
:subkey  
set svc=%~nx1  
重启机器  
step 2  
删除关联的注册表项及重新安装msdtc组件  
MSDTC_2.bat  
@echo off  
setlocal  
@echo %WINDIR%\System32\msdtc.exe -uninstall  
%WINDIR%\System32\msdtc.exe -uninstall  
call :delkey "HKCR\CID"  
call :delkey "HKLM\SYSTEM\CurrentControlSet\Services\MSDTC"  
call :delkey "HKLM\SYSTEM\ControlSet001\Services\MSDTC"  
call :delkey "HKLM\SYSTEM\ControlSet002\Services\MSDTC"  
call :delkey "HKLM\Software\Microsoft\MSDTC"  
@echo %WINDIR%\System32\msdtc.exe -install  
%WINDIR%\System32\msdtc.exe -install  
endlocal  
goto :EOF  
:delkey  
set key=%1  
call :delkeyq %key% >nul 2>&1  
@echo.  
goto :EOF  
:delkeyq  
REG DELETE %key% /F  
SETP 3  
restlog  
MSDTC_3.bat  
@echo off  
if {%1}=={} @echo Syntax: MSDTC3 Filename&goto :EOF  
if not exist %1 Syntax: MSDTC3 Filename - %1 was NOT found.&goto :EOF  
setlocal  
set filename=%1  
for /f "Tokens=*" %%r in ('type %filename%') do (  
%%r  
)  
reg add "HKLM\SOFTWARE\Microsoft\MSDTC\XADLL" /F  
regsvr32 mtxoci.dll  
endlocal  
运行完,看看日志  
完美解决IIS 服务器无法加载应用程序 '/LM/W3SVC/1/ROOT'。错误是 '没有注册类别现象:  
浏览ASP页面提示 500内部错误  
事件查看器中:  
[1]:  
服务器无法加载应用程序 '/LM/W3SVC/1/ROOT'。错误是 '没有注册类别'。  
有关此消息的详细信息,请访问 Microsoft 联机支持站点: http://www.microsoft.com/contentredirect.asp。  
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。  
[2]:  
无法启动 MS DTC 事务管理器。  
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。  
[3]:  
MS DTC 事务管理器启动失败。LogInit 返回错误 0x2。  
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。  
[4]:  
找不到 MS DTC 日志文件。在确认所有由 MS DTC 协调的资源管理器不具有“不确定”状态的事务  
之后,请运行 msdtc -resetlog 创建日志文件。  
有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp 的帮助和支持中心。  
我的运行环境:  
WinXP Pro SP2;  
解决办法:  
[1]:  
检查你的DTC服务(全名:Distributed Transaction Coordinator)是否可以正常启动,如果正常的话  
请你跳过此步骤;如果出错,无法正常启动,请在开始菜单的运行中 运行:msdtc -resetlog 以创建  
日志文件。重起机器,检查IIS是否可以正常使用,若不行继续。  
[2]:  
在CMD下执行以下命令:  
cd %windir%\system32\inetsrv  
rundll32 wamreg.dll, CreateIISPackage  
regsvr32 asptxn.dll  
重起机器,我的问题到这步已经可以完美解决!遇到这个郁闷的问题 系统导了一次,IIS重装了若干  
次,BAIDU了一些资料,终于解决了,希望对你有帮助。