原文出处:http://www.iisfaq.com/Default.aspx?tabid=3094
整理翻译:ajou
1.如果WEB站点目录下有Global.asa文件,改此文件文件名为Global.old.重启WEB服务,在记事本中写如下代码(原文中无代码,实际最简单的那种asp源码就行,译者注).文件另存为Test.asp于WEB根目录下.
如果asp文件能正常执行,问题就出在Global.asa上,如果依然不行,请转到第二步.
参阅如下微软知识库有关Global.asa文件出错的更多信息.
- NT AUTHORITY/Authenticated Users
- NT AUTHORITY/INTERACTIVE
关于更多组件服务出错的信息,请参考入下知识文章:
Q301919 PRB: Cannot Expand 'My Computer' in Component Services MMC Snap-In
3.如果通过第二步asp文件能正常执行,将站点的应用程序保护级别设回"中"或"高",将IWAM用户添加到本地管理员用户组中,如果通过这步,asp文件能正常执行,说明IWAM用户的访问许可权限就存在问题,请跳到第四步,如果asp文件还没正常执行,请在命令提示符中执行Synciwam.vbs 工具.
方法:打开命令提示符窗口敲入如下命令:
? C:/Inetpub/adminscripts>cscript synciwam.vbs.
关于IWAM用户(设置不正确)导致asp文件不能正常执行,请参考入下知识库.
Q308622 HOW TO: Perform Administration Tasks in IIS from a Command Prompt
Q297989 PRB: Configured Identity Is Incorrect for IWAM Account
Q255770 PRB: Logon Failure: Unknown User Name or Bad Password When You Run Out-of-Process Webs
Q236007 Domain Controller Demotion Causes Out-of-Process Applications to Fail
4.解决IWAM用户许可权限的问题,请使用windows 2000的第三方产品:Regmon?和 Filemon.请在http://www.sysinternals.com中下载这些工具.
当你执行asp页面请求时运行这些工具, Dllhost.exe 进程在Regmon 中查找"ACCDENIED" (在Filemon中查找"FAILURE").
注意:在IE进程出现"操作失败"时不要紧张,这只是普通现象.~~
关于IIS功能正常运作所需的最小条件,请参阅知识库:
Q271071 Minimum NTFS Permissions Required for IIS 5.0 to Work
在看到Dllhost.exe 进程"操作失败"的错误信息后,用Regedit32工具修改注册表里任何必须的NTFS许可权限(好像是病句,,汗...)
5.在装完IIS5.0后,从WEB 服务器控制台或其他网络上的工作站浏览asp或html文件,WEB服务可能返回如下错误信息:
HTTP 500? 内部服务器错误.
默认的web服务可能处于运行状态,如果运行netstat -an 你可以注意到WEB服务器正监听TCP80端口,即HTTP的默认端口.
注意:如果在使用IE5.0(或以上版本,译者注),你可能屏蔽了IE高级选项中的显示友好HTTP错误信息选项,更多信息:请参考微软知识库:
Q218155 Description of Hypertext Transport Protocol Error Messages
下面的几条可能出现在装有IIS5.0机器的事件日志中:
- Application Log: COM+ error with Event ID 4099
- System Log: W3SVC error with Event ID 59
- System Log: W3SVC warning with Event ID 36.
Iis5.log 文件(WINNT目录下)可能包含下面错误信息:
0x8004e00f=COM+ was unable to talk to the Microsoft Distributed Transaction Coordinator
你正试图打开com+管理者使用的组件服务,MMC停止响应.原因
IIS5.0依赖与COM+,COM+依赖于Distributed Transaction Coordinator (DTC) 服务运行,DTC检查版本的机制(包括在windows 2000以前的SQL SERVER版本)不能识别Windows2000所用的版本属性,结果SQL SERVER的DTC安装程序移除了WINDOWS 2000安装的DTC服务,更多请查阅微软知识库:
Q249310 BUG: Installing SQL Server on Windows 2000 Uninstalls DTC Service
解决
如下步骤解决这个问题:
a.验证Dtcsetup.exe (默认在c:/Winnt/System32 下)是否为1999.9.3422.24 或以后版本号
b.运行Dtcsetup.exe 安装DTC服务
c.开始DTC服务
d.控制面板中,双击"添加删除程序"
e.选"添加删除Windows组件",移除IIS5.0再重新安装.现状
微软已经确认在SQL Server versions 6.5?和 7.0 and MSDE? 1.0中存在这个问题
详细请参见文章:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q2572676.最后一招:依照下面步骤自己创建IIS Packages
a.浏览组件服务删除下列包
?????? a.IIS In-Process Applications
?????? b.IIS Out-of-Process Pooled Applications
?????? c.IIS Utilities
b.打开命令提示符,转到文件夹%windir%/system32/inetsrv,执行命令:
??????? rundll32 wamreg.dll, CreateIISPackage
注意:CreateIISPackage是大小写敏感的,确人输入正确.
c.重新打开组件服务,你将看到IIS COM+应用已经重新创建了.
d.从命令提示符中运行IISRESTART再测试之前没有正确执行的任何asp文件.
<完>