可以说,XP下的IIS 500 错误是个老大难问题,我找了很久的资料也不能解决,网上流行一篇文章大概是教同步IIS用户密码(文章见:http://hi.baidu.com/icancn/blog/item/d4a9fded9c31214f78f055c3.html),可以说,这篇文章介绍得很模糊,我个人按照上面做,并不能解决问题,而且这篇文章介绍的操作方法很复杂,让人我这个学计算机专业的人都晕死!

好吧,今天高兴!终于把这个问题解决了,告诉大家我的方法,本blog原创哦!

请先确保以下服务为启动状态,启动类型为自动

COM+ Event System
COM+ System Application

进入 控制面板,进入管理工具 —— 组件服务 控制台根目录 —— 组件服务 —— 计算机 —— 我的电脑 —— COM+应用程序 ,找到 IIS Out-Of-Process Pooled Applications 鼠标右键 属性 —— 标识 —— 把“下列用户”调整为“系统用户-交互式用户-当前已登录的用户”。然后点“确定”,再鼠标右键“属性”--“启动”

————————————————————————————————————————————
此时,IIS500问题理论上已经完美解决了,但也许你会碰到各种各样问题……

如果打开 COM+应用程序 出现错误怎么办?

请确保Distributed Transaction Coordinator服务为启动状态,启动类型为自动

如果在开启Distributed Transaction Coordinator服务时出错,那么请确保以下两个服务已启动,启动类型为自动。

Remote Procedure Call (RPC)
Security Accounts Manager

然后在 运行 或 cmd命令提示符 下输入msdtc -resetlog 回车

即可启动Distributed Transaction Coordinator服务

这时打开COM+应用程序已经没有问题了。

如果在COM+应用程序中找不到IIS Out-Of-Process Pooled Applications怎么办?

很简单,首先打开 cmd命令提示符

依次用cd命令进入X:WINDOWSsystem32inetsrv (X为你的系统盘)

然后输入命令:

rundll32 wamreg.dll, CreateIISPackage 回车 (CreateIISPackage注意区分大小写!)

regsvr32 asptxn.dll 回车

好了,这时IIS Out-Of-Process Pooled Applications已经能找到。

原始出处:http://www.coogg.com/article.asp?id=494

------------------------------------
Ps. by Joe Zhou
个人感觉这篇文章是我见到解决这个问题最实际的方案,其他的文章讲的太复杂,且还是不能解决问题。
这篇文章写的很仔细,途中可能碰到的也写出来了。

只是可惜的是,我还是没有成功,因为我在 "rundll32 wamreg.dll, CreateIISPackage 回车 (CreateIISPackage注意区分大小写!)" 这一步无法继续,提示wamreg.dll无法找到 :(