分析: iis5 的 http 500 内部服务器错误是我们经常碰到的错误之一,它的主要错误表现就是 asp 程序不能浏览但 htm 静态网页不受影响。另外当错误发生时,系统事件日志和安全事件日志都会有相应的记录,通过分析事件查看器我们可以确定出现的属于哪类问题。 首先关闭 IIS. 1. 打开计算机上 : 本地用户和组,给 "IUSR_ 机器名 " 和 "IWAM_ 机器名 " 两个用户设置密码, 这两个用户的密码要设一样,比如设为 "abc123" 。 2. 开始 -- 运行 --cmd 然后 cd D:/Inetpub/Admins( 我的系统在 D 盘 ) 然后 c.exe adsutil.vbs set w3svc/wamuserpass " 刚才设置的密码 abc123" 然后 c.exe adsutil.vbs set w3svc/anonymoususerpass " 刚才设置的密码 abc123" ( 注意上面的 :w3svc 与 wamuserpass 之间的杠是 / 而不是 / ,否则会出错 ) 3. 开始 -- 运行 --cmd 先输入 cd c:/inetpub/admins 然后输入 c.exe synciwam.vbs -v 如果第 3 步在最后一行没有提示 : Error:80110414 错误,那么重新启动 IIS ,搞定 如果出现了这个错误,那么恭喜,你可以继续下面步骤 : 4. 组件服务 -> 计算机 -> 我的电脑 ->COM+ 应用程序 ->IIS Out-Of-Process Pooled Applications ,右击 IIS Out-Of-Process Pooled Applications-> 属性 切换到 IIS Out-Of-Process Pooled Applications 属性对话框的 " 标识 " 选项卡。 " 此应用程序在下列账 户下运行 " 选择中 " 此用户 " 会被选中,用户名是 "IWAM_***" 。这些都是缺省的,不必改动。在下面的 " 密码 " 和 " 确认密码 " 文本框内输入刚才设置的密码 "abc123" ,确定退出,然后再次执行第 3 步,如果这 次没有提示 "Error:80110414" 错误,那么问题搞定。。 ( 即使出现这个 'Error:80110414' 错误提示,也可重启 IIS 试试。到了此步, IIS 一般都能运行正常 ) ( 5. 执行第 4 部时可能无法展开 "COM+ 应用程序 " ,报错: 错误代码 8004E00F-COM+ 无法与 Microsoft 分布式事物协调程序交谈 这个情况是 MS DTC 日志文件被误删了,在开始菜单 -> 运行 -> 输入 :msdtc -resetlog 回车重新创建日志 文件即可,再次启动 COM+ 便可展开 "COM+ 应用程序 " (自己没删过日志,怀疑在网上下的一个系统垃圾清理 bat 或者操作其他系统优化软件时被删除) 6. 执行第 4 部时 "COM+ 应用程序中 " 展开后根本找不到 IIS Out-Of-Process Pooled Applications 的话用以下方式重建 IIS Out-Of-Process Pooled Applications ) 上面 5.6 两步,让我用一个简单的命令 解决这个问题,重建 IIS 。 新建一个 文本文件,输入如下内容,并改后缀名 “ 新建文本 .txt” 为 “1.bat” 。 cd /d %windir%/system32/inetsrv msdtc -resetlog rundll32 wamreg.dll, CreateIISPackage regsvr32 asptxn.dll pause (关于 xp IIS 不能访问 asp 网页,有很多的原因。上边是用来安装 MSDTC ,安装 iis 包,从而进入 com+ 应用程序) 1.bat 是 批处理命令。 运行这个文件,停止 iis 然后启动问题解决了。