ReCrystallize Support Frequently Asked Questions

When viewing a report using ASP.NET, the web page appears blank.
The error "'bobj' is undefined" or similar may be displayed.

Not yet using ReCrystallize Pro to enable viewing your Crystal Reports on the web?

Try it - click here to view sample Crystal Reports in your browser now.

Click here for more information and a free trial download.

Synopsis:

When attempting to view a Crystal Report on the web using ReCrystallize Pro's ASP.NET option, the browser shows a blank page.  An error message " 'bobj' is undefined " or similar may also be shown.  If the page source is viewed using the browser's View Source feature, code can be seen on the page even though the page appears to be blank.  This condition occurs when the Crystal Report viewers directory is not present or is not accessible in the expected location on the web server.

Quick Fix  Updated - September 7, 2017

Recent .NET Framework updates from Microsoft have led to this issue.  To try to correct the issue as quickly as possible, take the following steps:

1.  Download the file at this link:   Viewers

2.  Open the downloaded file and to extract its contents to the root folder of your website.   The default location is C:\inetpub\wwwroot.   If you changed the location of the website to another drive or folder, or if you are not using the Default Web Site, please change the extraction location to the root folder of the website you are using.
 

If these steps do not resolve the issue, continue reading below.

More Information:

This issue occurs because the browser cannot read files from the expected location of the viewers folder on the web server.  The ReCrystallize Pro and ReCrystallize Server installers attempt to install the viewers folder on the web server beneath the default web site.  The folder is usually located at one of the following paths:

C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13    when using .NET Framework version 4

C:\inetpub\wwwroot\aspnet_client\system_web\2_0_50727\crystalreportviewers13    when using .NET Framework version 2

The numbering of the folder immediately beneath system_web may vary depending on the version of the .NET Framework in use.  If multiple numbered folders appear beneath system_web, more than one version of .NET Framework is available for use and the crystalreportviewers folder may be copied beneath each one to ensure availability of the files.

Note that ReCrystallize Pro may also install a crystalreporviewers115 directory directly beneath C:\Inetpub\wwwroot.  This folder is used for classic ASP (.asp) only and is not involved in this issue with ASP.NET (.aspx).

Testing for this issue:
  • Use your browser's View Source tool to see the source code behind the blank page.
  • In the page source code, search for "system_web"
  • There should be several occurrences of "system_web", for example
    • http://localhost/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css
  • Make note of the numbered folder that appears after "system_web".  In the example above, the numbered folder is 4_0_30319.  The numbered folder on your server may be different.
  • Attempt to download a file that is present in the crystalreportviewers directory, for example try to open a web browser on your server to
    • http://localhost/aspnet_client/system_web/4_0_30319/crystalreportviewers13/js/crviewer/images/style.css
    making sure to use the correct numbered folder from your page's source.
  • If the file downloads or opens successfully, then you may not be affected by this issue.  If you receive a 404 error (page not found), then it is likely that either the viewer files are not present in the expected location or file system permissions are preventing access.  If you receive a 401 (authentication) error, then IIS Authentication settings may be preventing access to the viewer files.
Solution 1:

If you are using a web site other than the default web site, the viewers folder must be copied from the default website to the corresponding location beneath the web site you are using.  A port number other than 80 at the end of your server address (for example, http://yourserver:8080) often indicates an alternate website is being used.

In IIS Manager on the server, locate the website where your report web pages are located.  Check the website settings to determine the Physical Path or Home Directory of the website.

Using Windows Explorer, copy the crystalreportviewers13 from beneath the default website (usually C:\inetput\wwwroot) to the corresponding location beneath the root directory of the website you are using.  It is usually safe to copy the entire aspnet_client folder from the root of the default website to the root of the alternate website.

Solution 2:

If more than one numbered folder appears directly beneath aspnet_client\system_web, copy the crystalreportviewers13 folder to each numbered folder where it is not already present.  This will ensure the viewers folder is available regardless of which .NET Framework version is in use.

If the numbered folder found in your page's source code (see "Testing for this issue" above) is not present, manually created the numbered folder beneath the system_web folder and then copy the crystalreportviewers13 folder to the new numbered folder.

Solution 3:

File system permissions may prevent the browser from reading files from the crystalreportviewers13 directory.  In Windows Explorer on the web server, modify file system permissions for the folder so that the Everyone group has Read access.

Solution 4:

For IIS 7 or later, open IIS Manager and select your web site under Sites.  In the Features panel, open Authentication in the IIS section.  If all authentication methods are disabled, IIS may prevent access to the viewer files.  Enable the Anonymous Authentication, Basic Authentication, and/or Windows Authentication methods.