您的位置: 网站首页 > 服务器吧 > 阅读文章

XP中IIS“http500”错误/server application error的终极解决方法

XP  刚刚装好的IIS在本地可以正常浏览HTML文件(HTML就算没装IIS也可以正常浏览),却无法解析ASP文件。这个问题我想很多人都遇到过,遇到这样的问题的确很苦恼。我以前刚接触XP下的IIS时也遇到同样的问题,不过在win2000里似乎不存在这个问题。十一新买了个笔记本,可惜的是,由于现在的笔记本电脑硬盘都采用串行接口,安装操作系统必须有个驱动文件才行。我买的笔记本提供了XP和VISTA的驱动,却没有2003的,这让我难过了许久,因为一直以来我都用2003系统。没办法,只好装上XP。

  今天我在新装的XP上安装IIS,结果出现如上所述的问题。打开HTML没有问题,打开ASP文件时就出现“HTTP 500”的错误信息。我把“显示友好HTTP错误信息”去掉,再打开ASP文件时出现:
Server Application Error
The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance

出现这样的情况是主要是由于IWAM账号(在我的计算机即是IWAM_MYSERVER账号)的密码错误造成了HTTP 500内部错误。

排除了一些基本的可能性外,我在网上搜寻了一下解决办法。最后终于解决了这个问题,在此分享一下。

先启动MSDTC服务,什么是MSDTC服务?显示名称:Distributed Transaction Coordinator;描述:协调跨多个数据库、消息队列、文件系统等资源管理器的事务。如果停止此服务,则不会发生这些事务。如果禁用此服务,显式依赖此服务的其他服务将无法启动。
CMD下net start msdtc
结果显示“distributed transaction coordinator 服务不能启动”。
解决方法:
把 C:\WINDOWS\system32\dtclog 这个目录重命名(如果有的话,没有就直接省去这一步),然后重新建立该目录。
在命令行下: msdtc -resetlog
再net start msdtc,显示服务启动成功了。

然后右键我的电脑–管理–本地用户和组,给IUSR_机器名和IWAM_机器名两个用户设置密码,要一样。

接着开始–运行–打cmd,
然后cd C:\Inetpub\AdminScripts,
然后cscript.exe adsutil.vbs set w3svc/wamuserpass 你设置的密码,
然后cscript.exe adsutil.vbs set w3svc/anonymoususerpass 你设置的密码。

看一下,行了没有?如果还不行,那么
cscript.exe synciwam.vbs -v,
然后iisreset。

到一步还是不行,最后在CMD下执行以下命令:
cd %windir%\system32\inetsrv

rundll32 wamreg.dll, CreateIISPackage

regsvr32 asptxn.dll

关闭所有的IE窗口后重新打开再执行,OK了!!

最后引用一下网上一段比较完整的解决方法:

Server Application Error

The server has encountered an error while loading an application during the processing of your request. Please refer to the event log for more detail information. Please contact the server administrator for assistance.

访问IIS客户端出现如上错信息提示,

在网上查了查解决方案如下:

1。右键我的电脑–管理–本地用户和组,给IUSR_机器名和IWAM_机器名两个用户设置密码,要一样。

2。开始–运行–打cmd,
然后cd D:InetpubAdminscripts(我的系统在D盘),
然后cscript.exe adsutil.vbs set w3svc/wamuserpass 你的密码,
然后cscript.exe adsutil.vbs set w3svc/anonymoususerpass 你的密码

看一下,行了没有?如果还不行,那么
cscript.exe synciwam.vbs -v,
然后iisreset。

据说就可以了,但是到最后一部提示8004e00f的错误,此错误是MSDTC服务不正常造成的,解决方法:

首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,结果报错“COM+ 无法与 Microsoft 分布式事务协调程序交谈”,无法查看里面的对象。
2、进入事件查看器,发现msdtc服务没有正常启动。
3、删除注册表中的键:
• HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSDTC
• HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSDTC
• HKEY_CLASSES_ROOTCID
4、停止MSDTC服务:net stop msdtc
5、卸载MSDTC服务:msdtc -uninstall
6、重新安装MSDTC服务:msdtc -install
7、确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看]
8、重新设置IIS的IWAM账号密码。[在计算机管理中的用户管理里]
9、同步IIS metabase中IWAM_MYSERVER的密码,在CMD中:c:inetputadminscripts>adsutil set w3svc/wamuserpass "yourpassword"
10、同步COM+应用程序所用的IWAM_MYSERVER密码,在CMD中:c:inetputadminscripts>cscript synciwam.vbs -v

到这部分网上大部分都说可以了,但是我这里虽然没有8004e00f的错误提示了,但是访问页面Server Application Error 错误依旧,最后终于找到了解决方法如下:

解决办法:
[1]:
检查你的DTC服务(全名:Distributed Transaction Coordinator)是否可以正常启动,

如果正常的话请你跳过此步骤;如果出错,无法正常启动,请在开始菜单的运行中 运行:msdtc -resetlog 以创建日志文件。重起机器,检查IIS是否可以正常使用,若不行继续。

[2]:
在CMD下执行以下命令:
cd %windir%\system32\inetsrv

rundll32 wamreg.dll, CreateIISPackage

regsvr32 asptxn.dll

(到这里我就可以用了,不用重启的)

OK,ASP页面一切正常了@!~~~^_^

  • 属于分类: 服务器吧
  • 本文标签:
  • 人气指数: 9,226
  • 文章作者: 野球小子
  • 生产日期: 2007年10月08日 - 14时58分25秒
看看还有没有您感兴趣的:

  1. formyself3
    十月 8th, 2007 at 17:13 | #1

    加油~

    [回复]

  2. hui
    十月 29th, 2007 at 17:43 | #2

    好厉害啊,,,非常感谢啊,,,,成功了,,,弄了好多东西没行,,真的感谢帖主,,,

    [回复]

  3. 野球小子
    十月 29th, 2007 at 18:06 | #3

    不客气,多多光临小站~~

    [回复]

  4. 破碎的heart
    三月 23rd, 2008 at 20:39 | #4

    真是太感谢了。。。表情图片

    [回复]

  5. wxjzhwhzhx
    十一月 11th, 2008 at 15:49 | #5

    太感谢了,真是帮了大忙了

    [回复]

  6. a
    三月 6th, 2009 at 14:50 | #6

    太感谢了。多谢啦。

    [回复]

  7. ayhome
    三月 6th, 2009 at 20:16 | #7

    嘿嘿 多谢了

    [回复]

  8. 感恩的心
    九月 1st, 2009 at 11:17 | #8

    很牛,的确帮了大忙,谢了啊表情图片

    [回复]

  9. 飒爽心斋
    三月 16th, 2010 at 15:19 | #9

    非常感谢啊

    [回复]

  • 您的大名(必填)
  • E-Mail (必填)
  • 您的网站(有的话就写一下吧~)
  • 评论内容:(必填)