解决IIS的server application error错误(转)

今天在搞IIS时出现了Server Application Error 错误提示,错误内容如下:

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.

于是Google了一下,看到几种解决方案,隧拿来记录一下:

IIS出现Server Application Error 错误解决方案如下:

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

2。开始–运行–打cmd,

然后cd C:\inetpub\adminscripts(我的系统在C盘),

然后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_MACHINE/SYSTEM/CurrentControlSet/Services/MSDTC

· HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSDTC

· HKEY_CLASSES_ROOT/CID

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:\Inetpub\AdminScripts> adsutil SET w3svc/WAMUserPass 你的密码

10、同步COM+应用程序所用的IWAM_MYSERVER密码,在CMD中:C:\inetpub\adminscripts>cscript synciwam.vbs -v

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

解决办法:

[1]:

检查你的DTC服务(全名:Distributed Transaction Coordinator)是否可以正常启动,

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

[2]:

在CMD下执行以下命令:

cd %windir%system32inetsrv

rundll32 wamreg.dll, CreateIISPackage

regsvr32 asptxn.dll

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

OK,ASP页面一切正常了

还不ok的话可以试试以下几种方法:

1、cd %windir%\system32\inetsrv rundll32 wamreg.dll, CreateIISPackage regsvr32 asptxn.dll

2、“开始”->“设置”->“控制面板”->“管理工具”->“组件服务”中,“控制台根目录”->“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”中,有一个“IIS Out-Of-Process Pooled”鼠标右键“属性”–“标识”–把“此用户”调整为“交互式用户–目前已登录的用户”。然后“确定”,再鼠标右键“属性”–“启动”。

3、一、启动MSDTC 服务

WIN+R,运行cmd 后输入:net start msdtc
如果显示“distributed transaction coordinator 服务不能启动”,就把C:\WINDOWS\system32\dtclog 这个目录重命名(如果有的话,没有就直接省去这一步),然后重新建立该目录。
然后在命令行下输入:msdtc -resetlog,再输入net start msdtc,显示服务启动成功。

二、设置“IUSR_”和“IWAM_”密码

打开开始-所有程序-管理工具-计算机管理-本地用户和组,分别给“IUSR_机器名”和“IWAM_机器名”两个用户设置密码,两个要是一样的,这里简单点比较好。

三、同步IIS配置数据库密码

为了确认第二步的密码是否一致,这里需要分别查看“IUSR_”和“IWAM_”的密码。

WIN+R,运行cmd后输入: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_”密码相同,按回车即可修改完成。

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

四、更改组件服务中的密码

WIN+R,运行cmd 后输入:cd c:\inetpub\adminscripts
然后输入:cscript.exe synciwam.vbs -v
最后重启IIS:iisreset

到了第四步操作后基本就OK了,到http://localhost/ 去试试?如果依然不行的话,还有第五步:在cmd 下运行(每行分别为单独命令,分三次输入并回车执行):

cd %windir%\system32\inetsrv
rundll32 wamreg.dll, CreateIISPackage
regsvr32 asptxn.dll

关闭所有的IE窗口后再试一下。

至此IIS时出现的Server Application Error错误应该可以解决了:)

源贴地址:http://blog.e-works.net.cn/379378/articles/65214.html 信息化博客

原文地址:https://www.cnblogs.com/wintergrass/p/2046518.html