IIS出现server application error

来源:互联网 发布:淘宝美工高级培训 编辑:程序博客网 时间:2024/05/17 04:04

症状:

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.

解决方法一:http://blog.csdn.net/hong401/archive/2008/05/10/2426313.aspx


解决方法二:

1) 右键单击 我的电脑---->管理,打开计算机管理界面
打开 本地用户和组---->用户
右键单击 启动IIS进程帐号IWAM_****(注:****一般是计算机名)
点击设置密码,设置为一个你想要的密码。

2) 同步IIS 配置数据库密码:
此处命令有二种,一种可以查看密码,一种是修改密码:

a.你可以利用查看密码命令查看 IWAM密码,然后把第一步中用户IWAM密码设置为与 查看到的IIS配置数据库密码 一样

b.也可以利用修改密码命令把IIS配置数据库密码修改为你第一步修改过的IWAM密码。

二种任你选择。

查看密码:
这里注意:在WIN2000中,查看到的密码为星号,若要不为星号,必须要先修改adsutil.vbs文件。

修改方法:
a.到c盘 inetpub/adminscripts找到adsutil.vbs (根据装系统时设定的不同,有的路径可能不一样)
b.右键单击,用记事本打开
c.查找 IsSecureProperty = True注意=前后各有一个空格
d.将 IsSecureProperty = True 改为 IsSecureProperty = False
e.保存,关闭,OK。

不罗嗦了,下面列出

查看密码命令:

开始--->程序--->附件 打开命令提示符
输入cd c:/inetpub/adminscripts

获取 IWAM 帐户密码命令: cscript.exe adsutil.vbs get w3svc/wamuserpass

获取 IUSR 帐户密码命令: cscript.exe adsutil.vbs get w3svc/anonymoususerpass

输入以上命令,按回车可分别查看IWAM和IUSR的密码。

修改密码命令:

修改 IWAM 帐户密码 cscript.exe adsutil.vbs set w3svc/wamuserpass "password"

修改 IUSR 帐户密码 cscript.exe adsutil.vbs set w3svc/anonymoususerpass "password"

password 设置为你想修改的密码,即与第一步中你设置的用户IWAM_****的相同,按回车即可修改完成。

这里一定要注意:w3svc与wamuserpass之间的杠是/而不是/,否则会出错。

并且还要注意:修改密码前请一定停止所有的Internet信息服务,否则后面可能会出错,并且IWAM帐户可能会被锁定。

如何停止?打开计算机管理,在Internet信息服务上单击右键,选择重新启动IIS服务,在选项中点停止IIS服务,确定即可。


3) 更改组件服务中的密码

开始--->程序--->附件 打开命令提示符
先输入cd c:/inetpub/adminscripts

然后输入cscript.exe synciwam.vbs -v

系统会提示:


引用内容
microsoft (r) windows script host version 5.6

版权所有(c) microsoft corporation 1996-2000。保留所有权利。


wamusername:iwam_myserver

wamuserpass:aboutnt2001

iis applications defined:

name, appisolated, package id

w3svc, 0,3d14228c-fbe1-11d0-995d-00c04fd919c1}

root, 2,

iishelp, 2,

iisadmin, 2,

iissamples, 2,

msadc, 2,

root, 2,

iisadmin, 2,

iishelp, 2,

root, 2,

root, 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}



这时所有操作基本就OK了,重新启动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

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