Blog Post

Getting Reporting Services to work on Vista


I recently ordered a new laptop and this one came with Windows Vista Ultimate. I knew about having to install SP2 as well as the Vista Provisioning tool, which should be run after the SP2 install. Yes, it can be run after the fact, like if you have the SQL Server instance stopped to apply the service pack. You just have to know where to look for it. typically it's at:

 C:\Program Files\Microsoft SQL Server\90\Shared\SQLProv.exe

 If you're interested, the log of what this tool has done will be found in the same directory (by default C:\Program Files\Microsoft SQL Server\90\Shared) in SQLProv.log. But I digress.

With Vista, IIS is the IIS 7.0 bits and pieces for the Longhorn kernel. IIS 7.0 is very different from IIS 6.0 and is substantially more compartmentalized than IIS 6.0. As a result, it is more complicated to get installed and working (key word: working) than installs on Windows 2000, XP, and 2003. The starting point is here:

How to install SQL Server 2005 Reporting Services on a Windows Vista-based computer

Make sure IIS is installed with all the pieces you need ahead of time. Afterwards, pay particular attention to configuring the app pools correctly as well as adding the site to the Trusted Sites list. This is necessary to get IE into unprotected mode (as pointed out by James Kovacs) without disabling User Account Control, which you need to initially configure the site permissions. Well, the trusted sites is necessary, but I was stopped when browsing to the Reports virtual directory and received the following error:

The report server is not responding. Verify that the report server is running and can be accessed from this computer. 

Okay, it was time check out the ReportServer virtual directory and see what was going on. That generated a 500 error:

HTTP Error 500.0 - Internal Server Error

Description: The page cannot be displayed because an internal server error has occurred.

Error Code: 0x8007007b

Notification: ExecuteRequestHandler

Module: IsapiModule  

The key is the Error Code of 0x8007007b. That means ERROR_INVALID_NAME. Doing a Google search for "reporting services vista" I eventually came upon a page which indicated there was a typo in the path to the aspnet_isapi.dll handler. Unfortunately, it was late at night so I didn't save the link. This happened to be the issue in my case. To see if this is the case if you're struggling, in the Internet Information Services (IIS) Manager, under the ReportServer virtual, double-click on Handler Mappings under the IIS portion (Features View tab). You're going to be looking for an Enabled handler which matches the handler reported in the error screen. In my case it was:

Handler: AboMapperCustom-3877406  

Click on it and click Edit under actions.Check to see if there is a \\ instead of a single \ in front of aspnet_isapi.dll. That was the case for me. I've highlighted the typo:

ISAPI Path error

Correct the typo, click OK to accept the change and enable the hander, and if that's the only issue, proceed with adding the user to the site security. 

I know this killed several hours of my time, especially for something that should never have been an issue. Oh well, hopefully it'll help a few folks out who run into the same issue I did.