Moving Reporting Services' Virtual Directories
By Trent Miesner MCDBA, MCAD, MCT, MCSE
Published: 3/1/2004
Reader Level: Beginner Intermediate
Rated: 4.63 by 8 member(s).
Tell a Friend
Rate this Article
Printable Version
Discuss in the Forums

Like most 1.0 releases from Microsoft, Reporting Services provides a wealth of useful features that leave us wondering how we ever got along without them. Unfortunately, like other 1.0 releases, there are a few glitches that make life just a little difficult for early adopters.

The first glitch you’re likely to encounter occurs during install. Reporting Services uses two Internet Information Server (IIS) Virtual Directories. Currently, these directories can be installed only in the "Default Web Site" site; there is no mechanism in the setup program to change the target Web site. This article will discuss how to move the directories after install to whichever Web site you’d like.

The Problem

Although some portions of the Reporting Services documentation imply that setup will install the two Virtual Directories to whichever Web site is accessible as http://localhost or http://<servername>, you will receive an error message during setup that IIS is not configured correctly if "Default Web Site" is not available, as shown in FIGURE 1. "Default Web Site" is the Web site that is installed with IIS (along with "Administration Web Site", if you’re using IIS 5.0). Understandably, most people disable the default site after installing IIS.

FIGURE 1: The error message

Even if you have enabled another site to be accessible as http://localhost or http://<servername>, setup will not recognize that site and will return the error shown in FIGURE 1.

The Solution

There is a simple five step solution to this problem. First, enable "Default Web Site" and ensure it is accessible as http://localhost or http://<servername>. If you have another site that is already accessible as http://localhost or http://<servername>, simply stop that site until you have finished the Reporting Services install (the install takes only a few minutes). You can stop the "Default Web Site" and restart your site once setup is complete (you do not need to complete all the steps in this article before re-enabling your site).

The second step is to install Reporting Services. Configure it however you like, but for the examples in this article we’ll assume you accepted any defaults. Next, create two Virtual Directories in the site you want to use for Reporting Services. These directories must have the same names that you chose during the Reporting Services install. By default, they will be named ReportServer and Reports.

Now, configure the two Virtual Directories in your site to have the same settings as the two Virtual Directories the Reporting Services setup created in "Default Web Site". (We’ll see the details of this fourth step in the next section.) Finally, ensure that your site is accessible as http://localhost or http://<servername>.

Configuring the Reports Virtual Directory

The fourth step, configuring the new Virtual Directories to be identical to the original Virtual Directories, is the only complicated part of this solution. In fact, it’s easy to do, but it’s also easy to miss a step. The following directions should help you avoid any mistakes. (All instructions below assume you installed Reporting Services using any defaults provided. If you did not, simply make substitutions as appropriate.)

First, in IIS open the Property window for the "Reports" Virtual Directory in the "Default Web Site" site (right-click and select Properties). Highlight and copy the "Local path" value on the Virtual Directory tab (by default, this will be "c:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportManager").

Right-click your new Web site, select New, and then select Virtual Directory. When the New Virtual Directory Wizard prompts for the Alias, type Reports. For the Path, paste in the value you copied from "Default Web Site". We will change the permissions later so just accept the default permissions the Wizard supplies.

Repeat the above steps for the "ReportServer" Virtual Directory. Copy the path ("c:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer" by default) and paste it into the Wizard. Again, do not be concerned with the permissions.

Now for the tedious part. Open the Property window for the "Reports" Virtual Directory in the "Default Web Site" site. Leave that Property window open, and open the Property window for the "Reports" Virtual Directory of your new site. Arrange the windows side-by-side, but be sure you know which window is from the default site and which is from your new site (I simply put the default site’s window on the left, and the new site’s window on the right). You can now see both configurations simultaneously. You’ll simply adjust the new site’s properties to match the default site’s properties.

The first difference you’ll notice is on the Virtual Directories tab. Change the Application Name from "Reports" to "Report Server Interface". Also, change the Execute Permissions from "Scripts Only" to "Scripts and Executables".

On the Documents tab, remove all default documents and add "Home.aspx" as a Default Document. On the Directory Security tab, Authentication and Access Control, Edit button, deselect the "Enable Anonymous Access" check box.

If you’re using IIS 6.0, on the HTTP Headers tab, add "MicrosoftOfficeWebServer" as a Custom Header Name with "5.0_Pub" as the Custom Header Value. If you’re using IIS 5.0, you do not need to do this step.

Configuring the ReportServer Virtual Directory

Now, you’re ready to configure the ReportServer Virtual Directory. The steps are almost exactly the same, with just a few minor changes and one important additional step.

On the Virtual Directories tab, change the Application Name from "ReportServer" to "Report Server". Also, change the Execute Permissions from "Scripts Only" to "None".

The additional step is to click the Configuration button on the Virtual Directories tab (do this only for the ReportServer Virtual Directory, not the Reports Virtual Directory). In IIS 6.0, on the Mappings tab, remove all existing Application Extensions and add a Wildcard Application Map of "c:\winnt\microsoft.net\framework\v1.1.4322\aspnet_isapi.dll" (it is best to copy this from the default site’s properties). In IIS 5.0, remove all Application Mappings and add an Application Map with Executable set to "c:\winnt\microsoft.net\framework\v1.1.4322\aspnet_isapi.dll", Extension set to "*", Verbs set to "All Verbs", and ensure the Script Engine check box is selected.

On the Documents tab, add "iisstart.htm" as a Default Document. On the Directory Security tab, Authentication and Access Control, Edit button, deselect the "Enable Anonymous Access" check box. You’ll have difficulty deploying reports if anonymous access is permitted.

If you’re using IIS 6.0, on the HTTP Headers tab, add "MicrosoftOfficeWebServer" as a Custom Header Name with "5.0_Pub" as the Custom Header Value. If you’re using IIS 5.0, you do not need to do this step.

The following table summarizes the changes you should have made:

Reports Virtual Directory
  Virtual Directory Tab Local Path Copy from Default Web Site
    Application Name Report Server Interface
    Execute Permissions Scripts and Executables
  Documents Tab Default Documents Remove all existing documents. Add "Home.aspx".
  Directory Security Tab Authentication and Access Control: Edit Button Deselect the "Enable Anonymous Access" check box.
  HTTP Headers Tab Custom Header IIS 6.0 only: Add "MicrosoftOfficeWebServer" as a Custom Header Name with "5.0_Pub" as the Customer Header Value.
ReportServer Virtual Directory
  Virtual Directory Tab Local Path Copy from Default Web Site
    Application Name Report Server
    Execute Permissions None
  Configuration button Default Documents IIS 6.0: Remove all existing Application Extensions. Add a Wildcard Application Map (copy from Default Web Site).
      IIS 5.0: Remove all existing Application Mappings. Add an Application Map (Executable copied from Default Web Site, Extension = "*", Verbs = "All Verbs", Script Engine check box is selected).
  Documents Tab Default Documents Add "iisstart.htm".
  Directory Security Tab Authentication and Access Control: Edit Button Deselect the "Enable Anonymous Access" check box.
  HTTP Headers Tab Custom Header IIS 6.0 only: Add "MicrosoftOfficeWebServer" as a Custom Header Name with "5.0_Pub" as the Customer Header Value.

One final step is necessary if you’re creating a new site that doesn’t yet have the "aspnet_client" folder in the root of the new site. You’ll receive the error message displayed in FIGURE 2 when you attempt to access the Reports Virtual Directory through your browser. To copy the "aspnet_client" folder into your new site, use a command similar to xcopy c:\Inetpub\wwwroot\aspnet_client d:\MySite\wwwroot\aspnet_client /s /e /i /k /h /o /x. This xcopy command will copy the "aspnet_client" folder, subfolders, and NTFS permissions.

FIGURE 2: Make sure to create an aspnet_client folder; you'll receive this error if you don't.

Conclusion

One of the biggest complaints about Reporting Services is the inability to install it to the Web site of your choice. With the help of this article, this limitation can easily be overcome.



Marketplace
(Sponsored Links)
What are the green links?
   



 
Copyright 2007 CMP Tech LLC | Hosted By SecureWebs.com
Privacy Policy (4/10/06) | Your California Privacy Rights (4/10/06) | Terms of Service | Advertising Info | About Us | Help