IIS服务器错误Server Application Error的解决
作者:NetFox 日期:2009-10-12
它的主要错误表现就是ASP程序不能浏览但HTM静态网页不受影响,提示“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.Pl ...”
或“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.”
出错原因:
XP下IIS无法解释ASP等动态页主要是由微软的一个BUG造成的。由于系统原因使IWAM帐号的密码错误,致使出现IIS500内部错误。
方法一、
就是先删除IUSR和IWAM两个帐号,注意这个两个帐号都有后缀名,在不同的计算机上不同.
然后在添加删除Windows组件中卸载IIS服务.
再重新安装IIS服务,这样就可以重建IUSR和IWAM帐号.并且帐号完成同步.
从而解决IIS6 HTTP 500错识问题.
如果以上方法不能解决,
可以更改一下服务器名称.再安装IIS服务,重新建立新的IUSR和IWAM帐号
这样应该可以解决问题了.试一下吧.
如果方法一还不行,可以尝试用方法二、
方法二:
(一)更改Active Directory中IWAM_MACHINENAME账号的密码
1、控制面版中选择“管理工具”->"计算机管理"->"本地用户和组" ->"用户"
2、找到“IWAM_MACHINENAME”,右击选择“重设密码(T)...”,在跳出的重设密码对方框中给IWAM_MACHINENAME设置新的密码,这儿我们设置成“IIS500”(没有引号的),确定,等待密码修改成功。
(二)同步IIS metabase中IWAM_MACHINENAME账号的密码
具体操作:"运行"->"CMD"->转到"C:\Inetpub\AdminScripts>"目录->输入 adsutil SET w3svc/WAMUserPass "IIS500" 确定即可;
修改成功后,系统会有如下提示:
WAMUserPass: (String) "******"
(三)同步COM+应用程序所用的IWAM_MACHINENAME的密码
具体操作:在以上界面接着输入 cscript synciwam.vbs -v 确定即可;
以下是成功后的系统显示信息:
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2000。保留所有权利。
WamUserName:IWAM_MACHINENAME
WamUserPass:IIS500
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}
它首先从IIS的metabase数据库找到IWAM账号"IWAM_MACHINENAME"并取出对应的密码“IIS500”,然后查找所有已定义的IIS Applications和Out of process applications,并逐一同步每一个Out of process applications应用程序的IWAM账号密码。
这个时候测试下是否可以正常解析ASP了,如果还不行,请检查下MSDTC服务是否正常运行,
使用synciwam.vbs脚本时,要注意一个问题,那就是在你运行synciwam.vbs之前,必须保证IIS metabase数据库与Active Directory中的IWAM密码已经一致。因为synciwam.vbs脚本是从IIS metabase数据库而不是从Active Directory取得IWAM账号的密码,如果IIS metabase中的密码不正确,那synciwam.vbs取得的密码也会不正确,同步操作执行到“Updating Applications”系统就会报80110414错误,即“找不到应用程序{3D14228D-FBE1-11D0-995D-00C04FD919C1}”。
PS:在同步COM+应用程序所用的IWAM_MACHINENAME的密码时又发生"Error: 8004E00F:"错误,于是在"控制面版"->"管理工具"->"组件服务"->"计算机"->"我的电脑"查看COM+应用程序,恩!居然这里出错,说无法与MICROSOFT 分布式事件处理协调程序交谈……;于是再查,得到如下解决方案。
解决步骤:
1、删除注册表中的键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
HKEY_CLASSES_ROOT\CID
2、停止MSDTC服务:net stop msdtc
3、卸载MSDTC服务:msdtc -uninstall
4、重新安装MSDTC服务:msdtc -install
5、重新启动电脑
笔者在修复后发现可以正常解析ASP,但是数据库联接代码无法执行,始终无法连接数据库,后把C:\WINDOWS\temp 把Temp这个目录的权限添加完全控制。
1.右键单击才c盘(系统安装分区),选择属性。
2.选择“安全”页。
3.点击“添加”按钮,输入everyone,确定。
4.点击“高级”按钮,选中“用在此显示的可以应用到子对象的项目替代所有子对象的权限项目”,一路确定即可。
就可以正常连接数据库了!
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.Pl ...”
或“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.”
出错原因:
XP下IIS无法解释ASP等动态页主要是由微软的一个BUG造成的。由于系统原因使IWAM帐号的密码错误,致使出现IIS500内部错误。
方法一、
就是先删除IUSR和IWAM两个帐号,注意这个两个帐号都有后缀名,在不同的计算机上不同.
然后在添加删除Windows组件中卸载IIS服务.
再重新安装IIS服务,这样就可以重建IUSR和IWAM帐号.并且帐号完成同步.
从而解决IIS6 HTTP 500错识问题.
如果以上方法不能解决,
可以更改一下服务器名称.再安装IIS服务,重新建立新的IUSR和IWAM帐号
这样应该可以解决问题了.试一下吧.
如果方法一还不行,可以尝试用方法二、
方法二:
(一)更改Active Directory中IWAM_MACHINENAME账号的密码
1、控制面版中选择“管理工具”->"计算机管理"->"本地用户和组" ->"用户"
2、找到“IWAM_MACHINENAME”,右击选择“重设密码(T)...”,在跳出的重设密码对方框中给IWAM_MACHINENAME设置新的密码,这儿我们设置成“IIS500”(没有引号的),确定,等待密码修改成功。
(二)同步IIS metabase中IWAM_MACHINENAME账号的密码
具体操作:"运行"->"CMD"->转到"C:\Inetpub\AdminScripts>"目录->输入 adsutil SET w3svc/WAMUserPass "IIS500" 确定即可;
修改成功后,系统会有如下提示:
WAMUserPass: (String) "******"
(三)同步COM+应用程序所用的IWAM_MACHINENAME的密码
具体操作:在以上界面接着输入 cscript synciwam.vbs -v 确定即可;
以下是成功后的系统显示信息:
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2000。保留所有权利。
WamUserName:IWAM_MACHINENAME
WamUserPass:IIS500
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}
它首先从IIS的metabase数据库找到IWAM账号"IWAM_MACHINENAME"并取出对应的密码“IIS500”,然后查找所有已定义的IIS Applications和Out of process applications,并逐一同步每一个Out of process applications应用程序的IWAM账号密码。
这个时候测试下是否可以正常解析ASP了,如果还不行,请检查下MSDTC服务是否正常运行,
使用synciwam.vbs脚本时,要注意一个问题,那就是在你运行synciwam.vbs之前,必须保证IIS metabase数据库与Active Directory中的IWAM密码已经一致。因为synciwam.vbs脚本是从IIS metabase数据库而不是从Active Directory取得IWAM账号的密码,如果IIS metabase中的密码不正确,那synciwam.vbs取得的密码也会不正确,同步操作执行到“Updating Applications”系统就会报80110414错误,即“找不到应用程序{3D14228D-FBE1-11D0-995D-00C04FD919C1}”。
PS:在同步COM+应用程序所用的IWAM_MACHINENAME的密码时又发生"Error: 8004E00F:"错误,于是在"控制面版"->"管理工具"->"组件服务"->"计算机"->"我的电脑"查看COM+应用程序,恩!居然这里出错,说无法与MICROSOFT 分布式事件处理协调程序交谈……;于是再查,得到如下解决方案。
解决步骤:
1、删除注册表中的键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
HKEY_CLASSES_ROOT\CID
2、停止MSDTC服务:net stop msdtc
3、卸载MSDTC服务:msdtc -uninstall
4、重新安装MSDTC服务:msdtc -install
5、重新启动电脑
笔者在修复后发现可以正常解析ASP,但是数据库联接代码无法执行,始终无法连接数据库,后把C:\WINDOWS\temp 把Temp这个目录的权限添加完全控制。
1.右键单击才c盘(系统安装分区),选择属性。
2.选择“安全”页。
3.点击“添加”按钮,输入everyone,确定。
4.点击“高级”按钮,选中“用在此显示的可以应用到子对象的项目替代所有子对象的权限项目”,一路确定即可。
就可以正常连接数据库了!
[本日志由 NetFox 于 2009-10-12 01:48 PM 编辑]






评论: 2 | 引用: 0 | 查看次数: -
发表评论