Sometimes when you access SCCM 2007 reports running on Reporting Point you may see HTTP Error 500 – Internal server error. If it affects some of your reports where you would anticipate a large number of records in the output it could be caused by insufficient buffer size. This is a well known issue and the work around it can be found here.
But what if all your reports are affected? Try several reports again and go to IIS logs. You will see something like this:
GET /SMSReporting_XXX/Report.asp ReportId=200|372|ASP_0177_:_8007007e|Server.CreateObject_Failed 80
This means that one of Reporting Point ActiveX is missing.
Check <webroot>\SMSComponent folder. If consistent it must contain the following files:
-
FormatMessageCtl.dll
smscomponent.dll
SMSRPH.exe
Most likely FormatMessageCtl.dll will be missing
Go to SCCM 2007 SP2 set up DVD, SMSSETUP\BIN\I386
Run reportinginstall.exe /x
Select the file FormatMessageCtl.dll (you will see 3 instances but they are all the same) and extract it to <webroot>\SMSComponent folder.
That’s it, you don’t need to register this DLL or restart IIS and SCCM. Just run report again.
Why did it happen?
Go to <wwwroot>\SMSReporting_<site code> folder and check for install.log file. Check the file time-stamp and dates in the file. Most likely your Reporting Point was recently reinstalled.
SCCM Component Manager service “pings” all installed components every 3600 seconds. If it does not have a response for several consequent attempts it reinstalls the component. This is the feature of SCCM 2007 and according to Microsoft Premium Support it cannot be configured or adjusted. So apparently something has happened to your Reporting Point which has triggered component reinstallation.