症状:
在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
然后重启机器 问题应该就解决了