Asp classic on IIS7 error 500 + 8002801d

500-errorasp-classiciis-7

I have a Win 2008 Server running IIS7. There are a few old ASP sites that still need to live on this box. I enabled ASP and the sites where running fine until yesterday.

Now when the ASP site goes to connect to a database I get a 500 error. In the log I have 8002801d.

Everything I have found so far has referenced registry keys I don't have.

The other odd thing… some info I have found about getting IIS to send the error to the browser shows an ASP icon in the IIS manager. I don't have that icon. I don't know that I ever did.

UPDATE

Hitting any ASP page would cause the error not just the ones connected to a database.

With the ASP icon missing and needing to get this fixed I decided to remove the ASP role. It removed everything under application development. I wasn't expecting that! I then installed everything under application development and rebooted the server.

Problem solved.

It would still be nice to know what was wrong and how to fix it with out doing what I did.

LOGS

#Software: Microsoft Internet Information Services 7.0
#Version: 1.0
#Date: 2010-06-28 19:03:10
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2010-06-28 19:03:10 ::1 GET /max/ |7|8002801d|- 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 500 0 0 304
2010-06-28 19:03:16 ::1 GET /BMI - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 301 0 0 9
2010-06-28 19:03:16 ::1 GET /BMI/ - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 200 0 0 408
2010-06-28 19:03:16 ::1 GET /BMI/Style.css - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 304 0 0 1
2010-06-28 19:03:16 ::1 GET /BMI/logo.bmp - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30618) 304 0 0 1
2010-06-28 19:18:32 ::1 GET /max/logon.asp |7|8002801d|- 80 -  ::1  Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+InfoPath.2) 500 0 0 184
2010-06-28 19:23:32 ::1 GET /max/logon.asp |7|8002801d|- 80 -  ::1  Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+(R1+1.6);+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+InfoPath.2) 500 0 0 166
2010-06-28 19:24:05 ::1 GET /max/logon.asp |7|8002801d|- 80 -  ::1  Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+2.0.50727;+.NET+CLR+1.1.4322;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.04506.648;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729;+InfoPath.2) 500 0 0 296

Best Answer

(generic tips since user updated question as resolved)

In the future, hit the page in question FROM the server it is occuring on (if possible). This forces IIS7 to give a much more detailed view of what is going on. So long as you have local detailed errors on, you will get a screen with extensive details instead of just HTTP 500. This can show you the ISAPI Provider that honored the request. 9 times out of 10 that will show you what's happening and the failure will reveal itself.

If not, turn on "failed request logging". IIS will then dump every peice of data it has when a 500 class error is thrown. Its taxing to go through, but if you really want to know, thats the best way.