iis localhost 可是又进不去 - IIS - 服务器之家

服务器之家

专注于服务器技术!
当前位置:首页 > Web服务器 > IIS

iis localhost 可是又进不去

发布时间:2017-05-19 来源:服务器之家

问题解决: 
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'。错误是 '没有注册类别'。 
[2]: 
无法启动 MS DTC 事务管理器。 
[3]: 
MS DTC 事务管理器启动失败。LogInit 返回错误 0x2。 
[4]: 
找不到 MS DTC 日志文件。在确认所有由 MS DTC 协调的资源管理器不具有“不确定”状态的事务 
之后,请运行 msdtc -resetlog 创建日志文件。 
我的运行环境: 
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了一些资料,终于解决了,希望对你有帮助。