How to: Upgrade Custom Assemblies and Extensions

New: 15 September 2007

SQL Server Reporting Services provides an extensible architecture that allows developers to create shared assemblies for custom data processing, delivery, rendering, and security extensions. It also supports using custom assemblies for report item values, styles, and formatting.

If you deployed custom extensions or assemblies in your SQL Server 2000 Reporting Services installation, Setup will block an automatic upgrade of your installation and display the following error: "Custom assemblies are deployed for this report server." If you selected multiple components to upgrade, you can continue to upgrade other SQL Server 2005 components. However, to upgrade Reporting Services, you must now close Setup and perform the following steps:

  1. Remove custom settings in the rsreportserver.config file. To upgrade a custom installation, you can temporarily remove the configuration settings for the custom assemblies or extensions from the rsreportserver.config file. This causes Setup to bypass the upgrade check for custom assemblies because, without the custom settings, your installation looks like a default installation.
  2. Run Setup to upgrade Reporting Services.
  3. If necessary, recompile the custom assembly or extension.
    • Custom security extensions must always be recompiled. All security extensions on a report server must include references for report models and model item security, even if you have no plans to use models or model item security.
    • Other extensions and assemblies need to be recompiled only if they have a dependency on a file or file path information of the old installation. In an upgraded installation, folders include instance information in the program folder names (for example, MSSQL.1 for the default instance of the Database Engine). If your extension or assembly references a path that no longer exists, you will get an error at run time. For example, the following error, which occurs after upgrade, will tell you whether you need to recompile a data processing extension: "An error has occurred during report process. An attempt has been made to use a data processing extension <name> that is not registered for this report server.”
    If you need to recompile, you must use Visual Studio 2005 or download a Visual Studio 2005 Express Edition component. SQL Server 2005 Reporting Services program files are managed assemblies built on the Microsoft .NET Framework 2.0. To reference the SQL Server 2005 version of Microsoft.ReportingServices.Interfaces.dll in your project, you must compile the project using a Visual Studio 2005 development environment that builds .NET Framework 2.0 applications.
  4. Move custom assemblies or extensions to the correct folder in the upgraded installation. You must find the folder that contains the Reporting Services program files and copy custom application files to the new location. If you installed just the default instance of the Database Engine and Reporting Services, the Reporting Services program files are most likely in MSSQL.2.
  5. Add custom settings to the rsreportserver.config file.

  1. Backup the rsreportserver.config file.

  2. Remove custom extension settings from rsreportserver.config. You do not need to remove entries from other configuration files or security policy files. Those files will be updated and moved during the upgrade; any custom settings will be preserved.

  3. Run Setup to upgrade your report server installation.

The upgrade process will delete old samples and replace them with newer versions if you select the newer SQL Server 2005 samples in SQL Server 2005 Setup. If you are actively using sample extensions or applications, copy the source files to a different location before upgrading.

  1. Copy the custom assemblies to the new directory structure. Put the files in the \Program Files\Microsoft SQL Server\MSSQL.x\Reporting Services\ReportServer\Bin folder.
  2. Edit rsreportserver.config and add the custom extension settings back into the file.

  1. Recompile your custom security extension or custom assembly that depends on a file in the report server directory structure:

    1. Start Visual Studio 2005.
    2. Open the solution. You will be prompted to convert the files.
    3. In Solution Explorer, right-click References, click Add Reference.
    4. Click Browse.
    5. Browse to Program Files\Microsoft SQL Server\MSSQL.x\Reporting Services\ReportServer\Bin folder, and select Microsoft.ReportingServices.Interfaces.dll.
    6. Build the project or solution.
  2. Copy the custom extension or the custom assembly to the \ReportServer\Bin folder.

  3. If an entry does not exist for it, add the custom extension or custom assembly settings to the rsreportserver.config file.

  4. Check the rsreportdesigner.config, rswebapplication.config, and the security policy configuration files to verify that the custom settings are still valid. Specifically, if the custom settings include a path to a Reporting Services folder, edit the value to use the new folder path.

  5. Test your applications and reports.

Community Additions