问题:HTTP500错误 或 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.
------------------------------------
主要特征:只能打开html页面,而不能打开asp,asp.net页面
解决方法:
1。更改iwam_myserver账号的密码
右键我的电脑--管理--本地用户和组,点击用户,给IUSR_机器名和IWAM_机器名两个用户设置密码,我都给他们设置成一样的了。设置方法都是右击,修改密码,然后输入两次密码就可以了。
2。同步iis metabase中iwam_myserver账号的密码
开始--运行--cmd,
然后cd C:\Inetpub\AdminScripts
然后cscript.exe adsutil.vbs set w3svc/wamuserpass “你的密码”,这个是上一步IWAM_机器名设定的密码。
然后cscript.exe adsutil.vbs set w3svc/anonymoususerpass “你的密码”,这个是上一步IUSR_机器名设定的密码。
这里我都设置成一样的密码了。
设置到这里,看一下,还是不行。接着往下做
3。同步IWAM账号和脚本synciwam.vbs的密码
cscript.exe synciwam.vbs -v
然后重启IIS
一般的问题到这里都解决了,但是我改完之后,一看,还是不行,郁闷死了。继续。
4.同步com+应用程序所用的iwam_myserver的密码
同步com+应用程序所用的iwam_myserver的密码,我们有两种方式可以选择:一种是使用组件服务mmc管理单元,另一种是使用iwam账号同步脚本synciwam.vbs。
我使用的是第一种方法:使用组件服务mmc管理单元
1.启动组件服务管理单元:选择“开始”->“运行”->“mmc”,启动管理控制台,打开“添加/删除管理单元”对话框,将“组件服务”管理单元添加上。
2. 找到“组件服务”->“计算机”->“我的电脑”->“com+应用程序”->“out-of-process pooled applications”,右击“out-of-process pooled applications”->“属性”。
新问题1 com+无法与Microsoft分布式事务协调程序交谈
执行到这一步的时候,又有新问题了。点击“计算机的时候”,有个提示“com+无法与Microsoft分布式事务协调程序交谈”,郁闷,那就先来解决这个问题吧。搜了以下,用以下方法解决:
1、首先进入组件服务,查看组件服务/计算机/我的电脑/COM+应用程序,结果报错“COM+ 无法与 Microsoft 分布式事务协调程序交谈”,无法查看里面的对象。
2、进入事件查看器,发现msdtc服务没有正常启动。
3、删除注册表中的键:
• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC
• HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
• HKEY_CLASSES_ROOT\CID
4、运行CMD,停止MSDTC服务:net stop msdtc
5、卸载MSDTC服务:msdtc -uninstall
6、重新安装MSDTC服务:msdtc -install
7、确认在事件查看器中msdtc服务已经正常启动[这步很关键,如果没有,重新启动下电脑看看],这里有个技巧,查看MSDTC服务是否启动,执行net stop msdtc,提示正在停止和停止成功就对了,再msdtc - install下就OK.
好,下面接着上面的,往下进行:
新问题2 没有IIS Out-Of-Process Pooled Applications
可以通过下述方法重建:
打开命令提示窗口,然后使用以下命令切换目录:
cd %windir%/system32/inetsrv
c. 运行以下命令:
rundll32 wamreg.dll, CreateIISPackage
注意:必须准确键入"CreateIISPackage";它区分大小写。
regsvr32 asptxn.dll
d. 关闭并重新打开"组件服务"。您应看到已经重新创建的所有这三个 IIS COM+ 应用程序。
e. 从命令行运行 IISRESET,并对先前未正确加载的任意 ASP 页进行测试。
看看问题是否解决,如果没有,可以继续一下步骤。
切换到“out-of-process pooled applications”属性对话框的“标志”选项卡。“此应用程序在下列账户下运行”选择中“此用户”会被选中,用户名是 “iwam_myserver”。这些都是缺省的,不必改动。在下面的“密码”和“确认密码”文本框内输入正确的密码“密码”,确定退出。
看http://www.cnblogs.com/wf225/说分三步就可以以下是他的文章:
. 运行:regsvr32 %windir%/system32/vbscript.dll (其实这一步也可以省,确保万一,还是执行吧)
2. 运行:msdtc -resetlog
3. 重新安装IIS
注释:
1. 微软只随IIS5提供了一个管理脚本adsutil.vbs,这个脚本位于C:\inetpub\adminscripts子目录下,首先注册vbscript.dll。
2. msdtc.exe是微软分布式传输协调程序。该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server,该服务用于管理多个服务器,必须确保该服务正常启动。
(1)控制面板->管理工具->组件服务
(2)找到“组件服务”->“计算机”->“我的电脑”->“COM+应用程序”->“IIS Out-Of-Process Pooled Applications”
3. 如果找不到“IIS Out-Of-Process Pooled Applications”,或在点击不能打开“COM+应用程序”,执行完“msdtc -resetlog”后,重新安装IIS即可。